2016-08-09 26 views
-1

Also im Grunde versuche ich Datenbank mithilfe eines Formulars zu aktualisieren. Es wird jedoch nicht aktualisiert. Nicht sicher, was der Fehler ist. Das Problem, das ich habe, ist, dass die Information zu demselben bleibt, selbst wenn ich das Formular redigiere und submit trete. Wenn Sie sehen können, was ich falsch mache, würde es sehr geschätzt werden! Vielen Dank!Updaten der MySQL-Datenbank

<?php 
session_start(); 
include_once 'dbconnect.php'; 

$query = $DBcon->query("SELECT * FROM user WHERE user_id=".$_SESSION['userSession']); 
$userRow=$query->fetch_array(); 
//$query = $DBcon->query("SELECT * FROM user WHERE user_id=".$_SESSION['userSession']); 
//$userRow=$query->fetch_array(); 

if(!empty($_POST)){ 

    echo '<div id="updated">we just updated the record...</div>'; 
    $results = $DBcon->query(" UPDATE user SET username= '" . $_POST['username'] . "', password='".$_POST['password']."' WHERE user_id='".$_POST['user_id']."' "); 
    echo $results; 

    //$sql = "UPDATE daves_table SET first_name ='$_POST['last_name']' WHERE id = '$_POST['rowid']'"; 
    //UPDATE `david_schema`.`daves_table` SET `last_name`='$_POST['last_name']' WHERE `id ='$_POST['rowid']'; 
    //print_r($_GET) 
} 

$user_id = $_GET['user_id']; 
if(empty($user_id)){echo 'no id provided.';die;} 
$result = mysqli_query($DBcon,"SELECT * FROM user WHERE user_id = '". $user_id ."'"); 

while($row = mysqli_fetch_array($result)) 
    { 
     ?> 
     <form action="change_info.php?user_id=<?php echo $_GET['user_id']; ?>" method="post"> 
     <input type="hidden" name="rowid" id="rowid" value="<?php echo $row['user_id']; ?>" /> 
     <br> 
     <input type="text" name="username" id="username" value="<?php echo $row['username']; ?>" /> 
     <br> 
     <input type="text" name="password" id="password" value="<?php echo $row['password']; ?>" /> 
     <br> 
     <input type="submit" name="submit"/> 

     <?php } ?> 
+0

lol Dämon falsche Box – Drew

+0

Include PHP Error Reporting. Mach es an. – Drew

+0

Sie sind anfällig für [sql injection attacks] (http://bobby-tables.com), und Sie können einfach nur nichts passieren, könnte jemals schief gehen. Niemals einen Erfolg mit DB-Operationen annehmen. Nimm immer einen Fehler an, überprüfe auf Fehler und behandle den Erfolg als eine angenehme Überraschung: '$ res = mysqli_query ($ con, ...) oder sterben (mysqli_error ($ con));' –

Antwort

1

In der UPDATE Abfrage, $_POST['user_id'] sollte $_GET['user_id'] sein, da Sie ?user_id=<?php echo $_GET['user_id'];?> in Form der Aktion haben. URL-Parameter sind in $_GET, nicht $_POST.

Oder Sie könnten $_POST['rowid'] verwenden, um es aus dem versteckten Feld zu bekommen.

Verwandte Themen