2017-10-20 18 views
0

J'ai fait 3 pages: formulaire, connexion à la base de données et la page d'enregistrement. Je ne reçois aucune erreur mais quand j'inscris un nouvel utilisateur sur la page du formulaire, il ne s'affiche pas sur le tableau de bord de phpmyadmin.Il semble que je peux enregistrer un nouvel utilisateur sur ma page de formulaire, mais aucune action n'est effectuée sur phpmyadmin tableau de bord

S'il vous plaît aidez-moi

Que dois-je faire?

Ma forme est ici:

<!DOCTYPE html> <html> <head> 
    <title></title>  <meta charset="utf-8"> </head> <body> <div 
style="background-color: #222; color: #fff; height: 50px; width: 
100%;"></div> <style type="text/css">  body{  background-color: 
#e1e1e1; }  form{   margin-top: 20px;   background-color: #fff; 

     }  form input{    padding: 4px;  } 

     button{    width: 100px;   height: 35px;   background-color: #222; 
      color: #fff;   margin-top: 10px;   border: 2px dotted;   } 
      </style> <form action="register.php" method="POST">   Forname:<br> <input type="text" name="first" id="first" 
size="50"><br>  Aftername:<br> <input type="text" name="last" 
size="50"><br>  E-post:<br>  <input type="text" name="email" 
size="50"><br>  Username:<br> <input type="text" name="username" 
size="50"><br>  Password:<br> <input type="password" name="password" 
size="50"><br> <button type="submit" name="submit" 
id="btn-submit">Sign Up</button> 

</form> </body> </html> 

Ma connexion de base de données:

<?php $conn = 
    mysqli_connect("127.0.0.1","root", "","test1"); if (!$conn) { 
     die("You can't connect to the database"); 

    } else echo "Your registration is succesed"; 

     ?> 

Ma page d'inscription:

<?php require 'db.php'; ?> <?php 

    if(isset($_POST['submit'])){ session_start(); $hostname = 
    "127.0.0.1"; $username = "root"; $password = ""; $database = "login"; 

    $first = $_POST['first']; $last = $_POST['last']; $email = 
    $_POST['email']; $username = $_POST['username']; $password = 
    $_POST['password']; 


    $sql = $conn->query("INSERT INTO 
    users(first,last,email,username,password)values('{$first}','{$last}','{$email}','{$password}')"); 
    header('Location: login.php'); } 

    ?> 
+1

** Danger **: Vous êtes ** vulnérables aux [attaques par injection SQL] (http: //bobby-tables.com/)** que vous devez [défendre] (http://stackoverflow.com/questions/60174/best-way-to-prevent-sql-injection-in-php) vous-même. – Quentin

+1

** Danger **: "Pas du tout" est [un algorithme de hachage inadapté] (http://php.net/manual/fr/faq.passwords.php); vous devez [mieux prendre soin] (https://www.owasp.org/index.php/Password_Storage_Cheat_Sheet) des mots de passe de vos utilisateurs. – Quentin

Répondre

0

Pour insérer dans SQL, vous propose d'afficher l'erreur s'il est inséré ou non, exemple de w3school: PHP insert Data into MySQL

Et en fonction de votre code, vous manquez la valeur de la colonne $ username, remplacer à cela et le problème est résolu

$sql = "INSERT INTO users(first,last,email,username,password) 
     values('{$first}', '{$last}', '{$email}', '{$username}', '{$password}')"; 
if ($conn->query($sql) === TRUE) { 
    echo "New record created successfully"; 
} else { 
    echo "Error: " . $sql . "<br>" . $conn->error; 
} 
+0

Wow, ça a marché, merci beaucoup pour votre temps et votre aide " –