2013-08-07 6 views
1

Форма:Форма не POSTING значения

<form id="register" method="POST" action="pro/register.php"> 
    <input type="text" maxlength="30" placeholder="Username" id="user" /><br /> 
    <input type="email" maxlength="64" placeholder="Email" id="email" /><br /> 
    <input type="password" placeholder="Password" id="pass1" /><br /> 
    <input type="password" placeholder="Confirm Password" id="pass2" /><br /> 
    <input type="submit" value="Register" id="submit_register" /> 
</form> 

pro/register.php страница:

$user = $_POST['user']; 
$email = $_POST['email']; 
$pass1 = $_POST['pass1']; 
$pass2 = $_POST['pass2']; 

//Debug only 
echo "<strong>Details:</strong><br>"; 
echo $user.", ".$email.", ".$pass1.", ".$pass2."<br>"; 

if($pass1!==$pass2){ 
    header('Location:../login.php?alert=pass'); 
    exit; 
} 

$hash = hash('sha256', $pass); 

include "../inc/functions.php"; 

$salt = createSalt(); 
$hash = hash('sha256', $salt . $hash); 

include "../inc/connect.php"; 

$stmt = $dbh->prepare("INSERT INTO `users` 
       (`username`,`email`,`password`,`salt`,`pic`) 
       VALUES (:username,:email,:password,:salt,:pic)"); 
$stmt->bindParam(':username',$user); 
$stmt->bindParam(':email',$email); 
$stmt->bindParam(':password',$hash); 
$stmt->bindParam(':salt',$salt); 
$stmt->bindParam(':pic',$pic); 
$stmt->execute(); 
$dbh=NULL; 

header('Location:../login.php?alert=newreg'); 

Производительность при форма размещена:

Details: 
, , , 
+0

Что делать, если вы добавляете 'имя' к элементам? – Icarus

+1

У вас нет имен для любого входа ... – Neal

+0

Благодарим вас за это. Я думал, что это взяло значения «ID». – Ben

ответ

13
<input type="text" maxlength="30" placeholder="Username" id="user" name="user"/><br /> 

попробуйте добавить поле имени.

+0

Ах спасибо, я думал, что это взяло ID. Большое спасибо – Ben

+1

@BenPearlKahan Как правило, используйте идентификаторы для javascript/css и имен для форм – Basic

4

Вы должны включить атрибут 'name' в свои входы формы, это то, что определяет, где значение идет в $ _POST.

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