2017-09-16 63 views
0

羅賓尼克松書編號:

if (isset($_POST['user'])) { 
    $user = sanitizeString($_POST['user']); 
    $pass = sanitizeString($_POST['pass']); 
    if ($user == "" || $pass == "") 
    $error = "Not all fields were entered<br><br>"; 
    else { 
    $result = queryMysql("SELECT * FROM members WHERE user='$user'"); 
    if ($result - > num_rows) 
     $error = "That username already exists<br><br>"; 
    else { 
     queryMysql("INSERT INTO members VALUES('$user', '$pass')"); 
     die("<h4>Account created</h4>Please Log in.<br><br>"); 
    } 
    } 
} 

爲什麼他使用isset($ _ POST [ '用戶'])嗎? 他爲什麼不使用isset($ _ POST [ '提交']呢?

+0

不知道這本書或看的形式,我可以只是假設沒有表單字段叫做「submit」,除此之外,檢查字段是否是在這個例子中,我使用'if(isset($ _ POST ['user'])&& isset($ _ POST ['pass']))'。 – rickdenhaan

+0

這似乎是一個偏好問題。檢查一個提交按鈕,只有當它有一個名字=(他們不要求)的作品。通常對預期/更重要的表格字段值進行測試是首選。 – mario

+0

[請勿以純文本形式存儲密碼](https://secure.php.net/manual/en/faq.passwords.php)。任何最近的PHP版本都應該有'password_ *'函數可用,並且有一個可用於PHP> = 5.3的polyfill。 – Bytewave

回答

0

守則已經缺少一個右括號。

<?php 
if (isset($_POST['user'])) 
{ 
$user = sanitizeString($_POST['user']); 
$pass = sanitizeString($_POST['pass']); 
if ($user == "" || $pass == "") 
$error = "Not all fields were entered<br><br>"; 
else 
{ 
$result = queryMysql("SELECT * FROM members WHERE user='$user'"); 
if ($result->num_rows) 
$error = "That username already exists<br><br>"; 
else 
{ 
queryMysql("INSERT INTO members VALUES('$user', '$pass')"); 
die("<h4>Account created</h4>Please Log in.<br><br>"); 
} 
} 
} 
?> 

代碼現在可以接受,如果POST用戶設置。或如果在你的HTML表單字段實現代碼提交!如果你需要,如果提交後檢查..所以我想做的事?請告知,因爲你需要我可以修改。