2015-04-30 3 views
1

У меня есть небольшой вопрос, поэтому я написал фрагмент HTML и PHP, который зарегистрировал бы учетную запись. Теперь я сделал проверку, но как мне вставить мои данные в мою базу данных, когда все проверки правильны, поэтому ошибок нет.Как вставить мою подтвержденную информацию? (SQL, PHP)

Я знаю синтаксис SQL, не беспокойтесь об этом. Я просто хочу вставить, когда все проверки были хорошими и ошибок проверки не было.

КОД:

<?php 
     $usernameErr = $emailErr = $passwordErr = $password_valErr = ""; 
     $username = $email = $password = $password_val = ""; 

     if($_SERVER['REQUEST_METHOD'] == 'POST') { 
      if(empty($_POST['username'])) { 
       $usernameErr = "Name is required"; 
      } else { 
       $username = validate_input($_POST['username']); 
       if($username <= 6) { 
        $usernameErr = "Username must be longer as 6 characters."; 
       } 
       if(!preg_match("/^[a-zA-Z ]*$/", $username)) { 
        $usernameErr = "Only letters and white space allowed."; 
       }  
      } 

      if(empty($_POST['email'])) { 
       $emailErr = "Email is required"; 
      } else { 
       $email = validate_input($_POST['email']); 
       if(!filter_var($email, FILTER_VALIDATE_EMAIL)) { 
        $emailErr = "Invalid email format."; 
       }   
      } 

      if(empty($_POST['password'])) { 
       $passwordErr = "Password is required"; 
      } else { 
       $password = validate_input($_POST['password']); 
       if($password <= 8) { 
        $passwordErr = "Password must be longer as 8 characters."; 
       } 
       if(!preg_match("#[0-9]+#", $password)) { 
        $passwordErr = "Password must contain atleast 1 number."; 
       } 
      } 

      if(empty($_POST['password_val'])) { 
       $password_valErr = "Password_val is required"; 
      } else { 
       $password_val = validate_input($_POST['password_val']); 
       if($password_val != $password) { 
        $password_valErr = "Password_val must be equal to password."; 
       }  
      } 
     } 
     ?> 

     <table border="1"> 
      <tr> 
       <td><label>Username</label><?=' <b>' . $usernameErr . '</b>';?></td> 
       <td><input type="text" name="username" value="<?=$username;?>" placeholder="Enter your desired username..." /></td> 
      </tr> 
      <tr> 
       <td><label>E-mail</label><?=' <b>' . $emailErr . '</b>';?></td> 
       <td><input type="text" name="email" value="<?=$email;?>" placeholder="Enter your email address..." /></td> 
      </tr> 
      <tr> 
       <td><label>Password<?=' <b>' . $passwordErr . '</b>';?></label></td> 
       <td><input type="password" name="password" placeholder="Enter your desired password..." /></td> 
      </tr> 
      <tr> 
       <td><label>Repeat Password<?=' <b>' . $password_valErr . '</b>';?></label></td> 
       <td><input type="password" name="password_val" placeholder="Repeat your chosen password.." /></td> 
      </tr> 
      <tr> 
       <td><input type="submit" name="register" value="Register" /></td> 
      </tr> 
     </table> 
    </form> 
+0

Какова ваша структура базы данных? – Aviz

+0

Вам нужно создать соединение с вашей базой данных, а затем выполнить свой sql – salty

+0

Если вы покажете, можете рассказать мне о своей структуре таблицы, я напишу код PDO для вас? Например, tablename (имя пользователя, адрес электронной почты, пароль, соль) – Aviz

ответ

4

Попробуйте это:

if(empty($_POST['username'])) { 
    $usernameErr="Name is required"; 
} else { 
    $username=validate_input($_POST['username']); 
    if($username<=6) { 
     $usernameErr="Username must be longer as 6 characters."; 
    } 
    if(!preg_match("/^[a-zA-Z ]*$/",$username)) { 
     $usernameErr="Only letters and white space allowed."; 
    } 
} 
if(empty($_POST['email'])) { 
    $emailErr="Email is required"; 
} else { 
    $email=validate_input($_POST['email']); 
    if(!filter_var($email,FILTER_VALIDATE_EMAIL)) { 
     $emailErr="Invalid email format."; 
    } 
} 
if(empty($_POST['password'])) { 
    $passwordErr="Password is required"; 
} else { 
    $password=validate_input($_POST['password']); 
    if($password<=8) { 
     $passwordErr="Password must be longer as 8 characters."; 
    } 
    if(!preg_match("#[0-9]+#",$password)) { 
     $passwordErr="Password must contain atleast 1 number."; 
    } 
} 
if(empty($_POST['password_val'])) { 
    $password_valErr="Password_val is required"; 
} else { 
    $password_val=validate_input($_POST['password_val']); 
    if($password_val!=$password) { 
     $password_valErr="Password_val must be equal to password."; 
    } 
} 
if(!isset($usernameErr,$usernameErr,$emailErr,$passwordErr,$password_valErr)) { 
    //Insert QUERY 
} 
+0

Так я do: 'if ($ usernameErr == '' && $ emailErr == '' && $ passwordErr == '' && $ password_valErr == '') { // запрос }' Это должно быть так? – Peurr

+0

@Peurr OoOps .... Да ... Извините ... Update;) – ops

+0

Выглядит хрупким .. но будет работать – Aviz

Смежные вопросы