2016-08-21 4 views
0

Итак, я только начал изучать php, и я не могу понять, что я делаю неправильно, данные не регистрируются в базе данных на mysql. Я использую xampp. Все имена и данные написаны правильно. Я проверил все функции ... Все еще не работает.как хранить данные в mysql с php

<DOCTYPE html> 
 
<html> 
 
    <head> 
 
     <title>New Account</title> 
 
    </head> 
 
    <body> 
 
    <?php 
 
       /* 
 
      Implementare: 
 
      -functie de verificare daca functia exista in baza de date 
 
      -function bool_email($POST_('email adress')) 
 
      -functie comparare stringuri 
 
      */ 
 
    $name = ''; 
 
    $password = ''; 
 
    $gender = ''; 
 
    $email = ''; 
 
    $tc = ''; 
 
    if(isset($_POST['submit'])) 
 
    { 
 
     $ok = true; 
 

 
     if(!isset($_POST['name']) || $_POST['name'] === '' /*bool_name_exist($the string)*/) 
 
     { 
 
      $ok = false; 
 
      printf("You forget about name or it exist already in the database!"); 
 
      echo '<br>'; 
 
     } 
 
     else 
 
     { 
 
      $name = $_POST['name']; 
 
     } 
 
     if(!isset($_POST['password']) || $_POST['password'] === '') 
 
     { 
 
      $ok = false; 
 
      printf('You forget about password!'); 
 
      echo '<br>'; 
 
     } 
 
     else 
 
     { 
 
      $password = $_POST['password']; 
 
     } 
 
     if(!isset($_POST['password_conf']) || $_POST['password_conf'] === '' || strcmp($_POST['password'], $_POST['password_conf']) != 0) 
 
     { 
 
      $ok = false; 
 
      printf('You forget about password or password conf. does not match!'); 
 
      echo '<br>'; 
 
     } 
 

 

 
     if(!isset($_POST['email']) || $_POST['email'] === '' /*functie care verifica daca emailul e valid sau este in baza de date*/) 
 
     { 
 
      $ok = false; 
 
      printf('You forget about email or your email address is not validate!'); 
 
      echo '<br>'; 
 
     } 
 
     else 
 
     { 
 
      $email = $_POST['email']; 
 
     } 
 
     if(!isset($_POST['gender']) || $_POST['gender'] === '') 
 
     { 
 
      $ok = false; 
 
      printf('You forget about gender!'); 
 
      echo '<br>'; 
 
     } 
 
     else 
 
     { 
 
      $gender = $_POST['gender']; 
 
     } 
 
     if(!isset($_POST['tc']) || $_POST['tc'] === '') 
 
     { 
 
      $ok = false; 
 
      printf('You need to validate t&c!'); 
 
      echo '<br>'; 
 
     } 
 
     else 
 
     { 
 
      $tc = $_POST['tc']; 
 
     } 
 
     if($ok === true) 
 
     { 
 
     printf('your account has been registered'); 
 
     } 
 
     if($ok) 
 
     { 
 
      $db = mysqli_connect('localhost', 'root', '', 'platformaworkout'); 
 
      $sql = sprintf("INSERT INTO registerdata (Name, Gender, Password, Email), VALUES ('%s', '%s', '%s', '%s') ", 
 
       mysqli_real_escape_string($db, $name), 
 
       mysqli_real_escape_string($db, $gender), 
 
       mysqli_real_escape_string($db, $password), 
 
       mysqli_real_escape_string($db, $email)); 
 
      printf('<br>%s', $sql); 
 
      if(mysqli_query($db, $sql)) 
 
      { 
 
       echo '<br>it work'; 
 
      }else 
 
      { 
 
       echo '<br>I want to kill myself...'; 
 
      } 
 
      mysqli_close($db); 
 
      echo '<p>user added</p>'; 
 
     } 
 
    } 
 
    ?> 
 
    <form method="post" action=""> 
 
     <header>Register new account:<br></header> 
 
     UserName:<input type="text" name="name" value="<?php echo htmlspecialchars($name); ?>"><br> 
 
     Password:<input type="password" name="password" value="<?php echo htmlspecialchars($password); ?>"><br> 
 
     Password confirmation:<input type="password" name="password_conf"><br> 
 
     Gender: 
 
     <input type="radio" name="gender" value="f" <?php if($gender === 'f'){echo 'checked';}?>>female 
 
     <input type="radio" name="gender" value="m" <?php if($gender === 'm'){echo 'checked';}?>>male<br> 
 
     Email Address:<input type="text" name="email" value="<?php echo htmlspecialchars($email); ?>"><br> 
 
     <input type="checkbox" name="tc" value="ok" <?php if($tc === 'okay'){echo 'checked';}?>>I accept t&c!<br> 
 
     <a src="#">Read t&c!</a> 
 
     <input type="submit" name="submit" value = "submit"> 
 
    </form> 
 
    </body> 
 
</html>

What I see in the browser My database structure

+0

Вы видите сообщение 'user added'? (Я думаю, что вы забыли связать свои переменные?) –

+0

Пожалуйста, научитесь использовать параметры с самого начала. Это упростит ситуацию. –

+0

Я видел сообщение «пользователь добавил», также я пытаюсь напечатать переменные, он работает – Jarlio

ответ

0

Может быть, вы забыли часть действий:

<form method="post" action="echo $_SERVER['PHP_SELF'];"> 
+0

, он дал мне 404, я включаю в действие = « Не дает мне ошибка, но все равно не работает – Jarlio

+0

Перед запятой есть дополнительная запятая ... удалите запятую из запроса, и она работает для меня – Satty

0

INSERT INTO registerdata (имя, пол, пароль, адрес электронной почты), VALUES (» jarlio ',' m ',' leaf ',' [email protected] '), не является правильной командой в sql из-за этого "," до "VALUES". Найти его, спасибо за помощь в любом случае