2016-07-23 8 views
0

Ich habe versucht, mein HTML-Formular an die angegebene Datenbank zu senden. Ich habe alles ausprobiert, was ich noch nicht kenne. Ich kann den Fehler nicht bekommen.Meine HTML-Daten werden nicht in der Datenbank angezeigt.

HTML FORM

<form action = "connect.php" method = "post"> 
     <br> 
     <br> 
     <br> 

     <h5 style ="color:White;" style="font-family:verdana" align = "center"><font size = "2"> 

     <fieldset > 
      <legend>Personal information:</legend> 
      First name: <br> 
      <input type = "text" name ="firstname"> 
      <br> 
      Last name: <br> 
      <input type = "text" name ="lastname"><br> 
      Username: <br> 
      <input type = "text" name = "username"><br> 
      Password <br> 
      <input type = "password" name ="password"><br> 
      School <br> 
      <input type = "text" name ="school"><br> 
      Department <br> 
      <input type = "text" name ="department"><br> 
      Year Of Study <br> 
      <input type = "text" name ="studyYear"><br> 
      Email <br> 
      <input type = "text" name ="email"><br> 
      Phone number <br> 
      <input type = "text" name ="phoneNumber"><br><br> 
      Gender <br> 
      <input type = "radio" name = "gender" value ="male">Male<br> 
      <input type = "radio" name = "gender" value ="female">Female<br> 
      <input type = "radio" name = "gender" value ="male">Other<br> 
      <br><br> 
      <input type ="submit" value ="Insert"> 
      </h5> 
     </fieldset> 
    </h5> 
    </form> 

PHP CODE 

<?php 
// Connect to localhost 
$connect = mysqli_connect('localhost', 'root', '', 'sigma'); 

if(!$connect) { 
    echo("Didn\'t work ". mysqli_error()); 
} 

// Get values from the form 
$ID = $_POST['UserID']; 
$firstname = $_POST['firstname']; 
$lastname = $_POST['lastname']; 
$username = $_POST['username']; 
$password = $_POST['password']; 
$school = $_POST['school']; 
$dept = $_POST['department']; 
$studyYear = $_POST['studyYear']; 
$email = $_POST['email']; 
$phone = $_POST['phoneNumber']; 

// SQL query to insert the data collected from the form into the database. 
$sql = mysqli_query ($connect, 'INSERT INTO users (firstname, lastname, username, password, 
    school, department, studyYear, email, phoneNumber) 
VALUES ("'.$firstname.'", "'.$lastname.'", "'.$username.'","'.$password.'", 
"'.$school.'", "'.$dept.'", "'.$studyYear.'", "'.$email.'", '.$phone.')'); 


if ($sql) 
{ 
echo 'Inserted'; 

} 

else 
{ 
echo 'Not Inserted'; 
} 



mysqli_close($connect); 

?> 
+1

fügen Sie bitte Ihren PHP-Code hinzu. –

+0

Welche Fehler/Fehler bekommen Sie? Sind Sie sicher, dass PHP-Fehler aktiviert sind? – VSG24

+0

@ShudhanshShekhar seine unter dem HTML-Formular Code direkt unter vielen Dank – Delalixx

Antwort

1

Diese Abfrage sollte für Sie arbeiten, dann ist es fast wie Shudhansh, aber ich habe die INSERT-Abfrage in doppelte Anführungszeichen eingeschlossen und t entfernt er Verkettungen zwischen einzelnen Variablen und wickelte sie jeweils in ihrer eigenen Apostrophe:

$sql = mysqli_query ($connect, 
"INSERT INTO users (firstname, lastname, username, password, 
school, department, studyYear, email, phoneNumber) 
VALUES ('$firstname', '$lastname', '$username', '$password', '$school', '$dept', '$studyYear', '$email', '$phone')"); 

Ich lief es auf meinem lokalen Rechner und es funktionierte.

Auch Ihre connect.php versucht, eine $ _POST ['userID'] 'von der Anfrage zu bekommen, aber Sie übergeben es nicht aus dem Formular, so dass es alles zusammen stoppen wird, sollten Sie nur ein Auto erstellen -inkrementierende ID als Primärschlüssel für die Handhabung Ihrer Benutzer-IDs.

Wenn dies irgendwie in Produktion geht, würde ich empfehlen, die Daten zu validieren und zu bereinigen und phps password_hashing Funktion für das Passwort aus offensichtlichen Sicherheitsgründen zu verwenden.

0

Zuerst überprüfen Sie die Verbindung

if (mysqli_connect_errno()) { 
    printf("Connect failed: %s\n", mysqli_connect_error()); 
    exit(); 
} 

Wenn es in Ordnung ist, überprüfen Sie Ihr Ergebnis

if ($result = mysqli_query($connect, $sql)) { 
       echo "I got the result yeah\n", mysqli_num_rows($result); 
      }else{ 
       echo "No results buddy." 
} 
Verwandte Themen