2017-07-16 6 views
1

Ich habe ein Formular, das Benutzerdaten basierend auf einer Abfrage anzeigt. Das Formular soll Benutzern ermöglichen, ihre Benutzerkontoinformationen zu aktualisieren. dh Vorname, Nachname, E-Mail-Adresse usw.PHP-Formular nicht korrekt übermittelt

account.php - Form

<form class="form-horizontal" role="form" method="post" action=""> 
       <div class="form-group"> 
        <label class="col-lg-3 control-label">First name:</label> 
        <div class="col-lg-8"> 
         <input class="form-control" name="fName" type="text" placeholder="<?php echo $fName ?>"> 
        </div> 
       </div> 
       <div class="form-group"> 
        <label class="col-lg-3 control-label">Last name:</label> 
        <div class="col-lg-8"> 
         <input class="form-control" name="lName" type="text" placeholder="<?php echo $lName ?>"> 
        </div> 
       </div> 
       <div class="form-group"> 
        <label class="col-lg-3 control-label">Email:</label> 
        <div class="col-lg-8"> 
         <input class="form-control" name="emailAddress" type="text" placeholder="<?php echo $emailAddress ?>"> 
        </div> 
       </div> 
       <div class="form-group"> 
        <label class="col-md-3 control-label">Username:</label> 
        <div class="col-md-8"> 
         <input class="form-control" name="username" type="text" placeholder="<?php echo $username ?>"> 
        </div> 
       </div> 
       <div class="form-group"> 
        <label class="col-md-3 control-label">Password:</label> 
        <div class="col-md-8"> 
         <input class="form-control" name="password" type="password"> 
        </div> 
       </div> 
       <div class="form-group"> 
        <label class="col-md-3 control-label">Confirm password:</label> 
        <div class="col-md-8"> 
         <input class="form-control" name="confirmPassword" type="password"> 
        </div> 
       </div> 
       <div class="form-group"> 
        <label class="col-md-3 control-label"></label> 
        <div class="col-md-8"> 
         <input class="btn btn-primary" value="Update" name="updateaccount" type="button"> 
         <span></span> 
         <input class="btn btn-default" value="Cancel" type="reset"> 
        </div> 
       </div> 
      </form> 

updateaccount.php

<?php 

$msg = ""; 
if(isset($_POST["updateaccount"])) 
{ 
    $fName = $_POST["fName"]; 
    $lName = $_POST["lName"]; 
    $username = $_POST["username"]; 
    $emailAddress = $_POST["emailAddress"]; 
    $password = $_POST["password"]; 

    $fName = mysqli_real_escape_string($db, $fName); 
    $lName = mysqli_real_escape_string($db, $lName); 
    $username = mysqli_real_escape_string($db, $username); 
    $emailAddress = mysqli_real_escape_string($db, $emailAddress); 
    $password = mysqli_real_escape_string($db, $password); 
    $password = md5($password); 


    $sql="SELECT emailAddress FROM users WHERE emailAddress='$emailAddress'"; 
    $result=mysqli_query($db,$sql); 
    $row=mysqli_fetch_array($result,MYSQLI_ASSOC); 
    if(mysqli_num_rows($result) == 1) 
    { 
     $msg = "Sorry...This email already exists"; 
    } 
    else 
    { 
     $query = mysqli_query($db, "INSERT INTO users (fName, lName, username, emailAddress, password)VALUES ('$fName', '$lName', '$username', '$emailAddress, '$password')"); 
     if($query) 
     { 
      $msg = "Your account has been updated"; 
     } 
    } 
} 
?> 

Der obige Code wird auf die angerufene account.php Seite:

include ("getuseraccount.php"); 

Habe ich etwas verpasst?

Antwort

0

Sie verwenden Taste input type statt für die Update-Schaltfläche einreichen. Verwenden Sie ‚Senden‘ geben Sie anstelle von ‚Taste‘ Typ. <input class="btn btn-primary" value="Update" name="updateaccount" type="button">

versuchen

<input class="btn btn-primary" value="Update" name="updateaccount" type="submit"> 
+0

Ugh ich dachte nicht darüber nach. Vielen Dank –

0

Wenn Sie Ajax verwenden Sie das Formular einreichen (die Sie nicht erwähnt gemacht, müssen Sie die Datei hinzufügen, die Sie das Formular Informationen einreichen.

<form class="form-horizontal" role="form" method="post" action="updateaccount.php"> 
+0

Muss ich noch brauchen, wenn ich die Datei bin auch? Exkurs ... wHE n Ich füge die updateaccount.php-Referenz zur Aktionsmethode hinzu, die noch nicht übergeben wird. –

+0

Ohne zu wissen, was in der Datei useraccount.php ist, kann ich nicht sicher sagen, wohin es geht. Es könnte nicht reichen, aber das könnte nur ein weiterer Fehler sein. Befindet sich die updateaccount.php im selben Verzeichnis wie das Formular? Wenn nicht, müssen Sie den Pfad in Aktion anpassen = Es gibt eine Reihe von anderen Dingen, die falsch sein könnten. – Difster