2016-08-03 2 views
1

Ich versuche, meine MySQL-Tabelle zu aktualisieren, indem Sie ein Formular in einer HTML-Seite verwenden.PHP Update MySQL Tabelle mit HTML-Formular

Das ist mein PHP-Code

<?php 
ob_start(); 
session_start(); 
require_once 'dbconnect.php'; 

if(!isset($_SESSION['client'])) { 
    header("Location: homepage_login.php"); 
    exit; 
} 
// select loggedin users detail 
$res=mysql_query("SELECT * FROM clients WHERE client_id=".$_SESSION['client']); 
$userRow=mysql_fetch_array($res); 

if(isset($_POST['btn-book'])) { 

$sql="UPDATE appointments SET date='$slot_date', line='$slot_line', reason='$reason' WHERE id='$id'"; 
$result=mysql_query($sql); 

if($result){ 
echo "Successful"; 
} 

else { 
echo "ERROR"; 
} } 

?> 

Und mein HTML-Formular

<form action"" method"post"> 

     <p>Date: <input type="text" id="datepicker" name="date"></p> 

     <br> 
     <br> 
     Select a line: 
     <ol id="selectable" name="line"> 
    <li class="ui-widget-content">Line 1</li> 
    <li class="ui-widget-content">Line 2</li> 
    <li class="ui-widget-content">Line 3</li> 
    <li class="ui-widget-content">Line 4</li> 
    <li class="ui-widget-content">Line 5</li> 
    <li class="ui-widget-content">Line 6</li> 
    <li class="ui-widget-content">Line 7</li> 
</ol> 
<br> 
<br> 

    <p>Reason for appointment: <input type="text" name="reaosn"></p> 

     <div class="form-group"> 
      <button type="submit" class="btn btn-block btn-primary" name="btn-book">Book</button> 
      </div> 

      </form> 

Diese auf der gleichen Seite der Art und Weise sind. Was ich also tun muss ist, wenn jemand das Formular ausfüllt und den Submit-Button drückt, wird der PHP-Code meine MySQL-Tabelle auf einen bestimmten bereits gemachten Datensatz aktualisieren.

Ich bin mir nicht sicher, ob ich irgendwie angeben muss, welchen Datensatz ich aktualisieren möchte oder ob ich gerade meine Tabelle komplett vermasselt habe.

Also, meine Fragen sind: mit einem HTML-Formular und PHP-Code

Wie ich einen bestimmten Datensatz in meiner Tabelle aktualisiere?

+0

Update-Abfrage in der SQL. geh einfach durch ... http://www.w3schools.com/php/php_mysql_update.asp –

+0

Ich bin mir nicht sicher, was die eigentliche Frage ist? Erhalten Sie irgendwelche Fehler? – Epodax

+0

Ich bekomme keine Fehler, es ist nur mein Code wird einen Datensatz in meiner Tabelle nicht aktualisieren – Isabella

Antwort

0

in Form müssen Sie

<form method="post" action="same_page.php"> 

die PHP-Änderung mit folgenden Code wie diese ändern.

<?php 
ob_start(); 
session_start(); 
require_once 'dbconnect.php'; 

if(!isset($_SESSION['client'])) { 
header("Location: homepage_login.php"); 
exit; 
} 
// select loggedin users detail 
$res=mysql_query("SELECT * FROM clients WHERE client_id='$_SESSION[client]'"); 
$userRow=mysql_fetch_array($res); 
$id=$userRow['client_id']; 

if(isset($_POST['btn-book'])) { 

$slot_date= $_POST['date']; 
$reason=$_POST['reason']; 
$slot_line=$_POST['line']; 

$sql="UPDATE appointments SET date='$slot_date', line='$slot_line', reason='$reason' WHERE id='$id'"; 
$result=mysql_query($sql); 

if($result){ 
    echo "Successful"; 
}else { 
    echo "ERROR"; 
} 
} 

?> 
+0

hinzu ** Gefahr **: Dieser Code ist [anfällig für XSS] (https: // www .owasp.org/index.php/XSS) Benutzereingaben (wie zB PHP_SELF) müssen vor dem Einfügen in ein HTML-Dokument entschlüsselt werden !. – Quentin

+0

Danke für die Hilfe, aber jetzt, wenn ich auf "Senden" klicke, sagt meine Seite, dass die URL nicht gefunden werden kann? Ich bin mir nicht sicher, ob es versucht, eine neue Seite zu finden, die ich nicht erstellt/definiert oder etwas anderes? – Isabella

+0

geändert. Danke für die Information. @Quentin –

0

Nur echo alle Werte auf Formular

für z: <p>Date: <input type="text" id="datepicker" name="date"></p> in <p>Date: <input type="text" id="datepicker" value="<?php echo $result['date']; ?> " name="date"></p>