2016-06-13 2 views
-1

Kennwortänderung Skript nicht funktioniert die Ausgabe zeigt sich immer als etwas nicht in Ordnung istKennwortänderung Skript nicht funktioniert ouput etwas falsch ist

<html> 
<body> 
<center> 
<form method="POST"> 
Enter New Password:<input type="password" name="password"/><br \> 
Confirm Password:<input type="password" name="conpassword"/><br \> 
<button name="submit" value="Change My Password"/> 
<button type="clear"/> 
</form> 
</center> 
</body> 
</html> 
<?php 
@mysql_connect("localhost","root",""); 
mysql_select_db("sarath"); 
if(isset($_POST['submit'])) 
{ 

session_start(); 
if(!isset($_SESSION['name'])) 
header("location:login.php"); 
$n=$_SESSION['name']; 
$p=$_POST['password']; 
$cp=$_POST['conpassword']; 
if($p==$cp) 
{ 
$query="UPDATE student 
     SET password='$p' 
     WHERE username='$n';"; 
$r=mysql_query($query); 
    if($r) 
     echo "password changed successfully"; 
} 
else 
    echo "please enter the same password"; 
} 
else 
echo "something wrong"; 
?> 
+0

Haben Sie einen Fehlercode? Wenn Sie bekommen bitte fügen Sie Ihre Frage hinzu. –

+0

was passiert, wenn Sie klicken Sie auf den Absenden-Button? –

+0

'' geschlossen werden.Das ist zuerst.Sie ​​sollten auch Ihre ' ' – Marcus

Antwort

0

Sie einige Fehler tat wie

  1. Sie müssen verwenden {} für if (! isset ($ _ SESSION ['name'])).

  2. In Ihrer Abfrage haben Sie folgende Abfrage geschrieben, in der Sie verwendet haben; bevor die Abfrage beendet ist. ; kommt immer am Ende der php-Zeile.

    $ query = "UPDATE Schüler SET Passwort = '$ p' WHERE username = '$ n';";

Versuchen Sie diesen Code:

<?php 
    session_start(); 
    @mysql_connect("localhost","root",""); 
    mysql_select_db("sarath"); 
    if(isset($_POST['submit'])) 
    { 
     if(!isset($_SESSION['name'])) 
     { 
     header("location:login.php"); 
     $n=$_SESSION['name']; 
     $p=$_POST['password']; 
     $cp=$_POST['conpassword']; 
     if($p==$cp) 
     { 
      $query="UPDATE student SET password='$p' WHERE username='$n'"; 
      $r=mysql_query($query); 
      if($r) 
       echo "password changed successfully"; 
     } 
     else 
       echo "please enter the same password"; 
     } 
    } 
    else 
    { 
     echo "something wrong"; 
    } 
?> 

Ich hoffe, dass Sie Ihre Lösung erhalten wird.

+0

Was hast du gemacht? Sie müssen eine Erklärung anbieten. – Marcus

+0

Vielen Dank: D hat die Lösung: D –

+0

an erster Stelle der Else-Block mit Echo etwas falsch sollte nicht da sein, jedes Mal, wenn Else Block ausgeführt wird und dass If-Klausel nie ausgeführt wird und ich nur entfernt else Block –

0

Das bedeutet, dass $ _SESSION ('name') nicht gesetzt ist. Wenn Sie zum Ändern der Passwortseite umleiten, müssen Sie die Sitzungsvariable festlegen und auf der Seite zum Ändern des Passworts aufrufen. Sie können auch einen var_dump (($ _SESSION ('name')); um zu überprüfen, ob es gesetzt ist oder nicht.

+0

danke Mann hat es geschafft: D –

Verwandte Themen