0
比較我有一個表格,用戶填寫和操作頁面不言而喻基本上只是把一切post_variables到session_variables和將查詢電子郵件地址的數據庫可能匹配的電子郵件ADR用戶提交。如果發現匹配的行數等於一個或多個,我想引導用戶到一個頁面,告訴他們電子郵件已被使用,否則他們將直接到另一個PHP頁面,所有的信息將被寫入數據庫。PHP - 循環,用戶輸入對錶
出於某種原因,它不工作 - PHP(或MySQL)沒有找到任何匹配,即使有在同一個地址表中的行。
希望有人能爲我指出這一點。我在LAMP上使用php 5.0。
這裏是形式爲「行動」頁面上的代碼:
<?PHP
session_start();
$dbhost = 'somewhere.net';
$dbuser = 'someUser';
$dbpass = 'pass'
$dbname = 'medrecruit';
$conn = mysql_connect($dbhost, $dbuser, $dbpass) or die (mysql_error($conn));
mysql_select_db($dbname) or die(mysql_error($conn));
if (isset($_POST['submit'])) {
$_SESSION['name'] = mysql_real_escape_string($_POST['name']);
$_SESSION['smacker'] = mysql_real_escape_string($_POST['smacker']);
$_SESSION['password'] = mysql_real_escape_string($_POST['confpassword']);
$_SESSION['surname'] = mysql_real_escape_string($_POST['surname']);
$_SESSION['gender'] = $_POST['gender'];
$_SESSION['age'] = mysql_real_escape_string($_POST['age']);
$_SESSION['nationality'] = mysql_real_escape_string($_POST['nationality']);
$_SESSION['email'] = mysql_real_escape_string($_POST['email']);
$_SESSION['telnr'] = mysql_real_escape_string($_POST['telnr']);
$_SESSION['special'] = mysql_real_escape_string($_POST['special']);
$_SESSION['qf1'] = mysql_real_escape_string($_POST['qf1']);
$_SESSION['qf2'] = mysql_real_escape_string($_POST['qf2']);
$_SESSION['qf3'] = mysql_real_escape_string($_POST['qf3']);
$_SESSION['qf4'] = mysql_real_escape_string($_POST['qf4']);
$_SESSION['qf5'] = mysql_real_escape_string($_POST['qf5']);
$_SESSION['qf6'] = mysql_real_escape_string($_POST['qf6']);
$_SESSION['qf7'] = mysql_real_escape_string($_POST['qf7']);
$_SESSION['qf8'] = mysql_real_escape_string($_POST['qf8']);
$_SESSION['qf9'] = mysql_real_escape_string($_POST['qf9']);
$_SESSION['qf10'] = mysql_real_escape_string($_POST['qf10']);
$_SESSION['cv'] = mysql_real_escape_string($_POST['cv']);
$_SESSION['activationkey'] = mt_rand() . mt_rand() . mt_rand() . mt_rand() . mt_rand();
$newmail = mysql_real_escape_string($_POST['email']);
$query = "SELECT * FROM employee WHERE email = '$newmail'";
$result = mysql_query($query);
if(mysql_num_rows($result) >= 1){
header("Location: noemail.html");
}
header("Location: insert.php");
}
?>
我更新了代碼,但仍然沒有工作。我認爲在提取結果並比較電子郵件地址的地方出了問題.. – Max
看起來像這回到前面:'if(mysql_num_rows($ result)> = 1){header(「Location:noemail.html」); '如果有一個或多個結果,你會去'noemail.html'。 –
我明白你的意思了,但它應該是這樣的。 nomail.html是告訴用戶他的地址已被使用的頁面。 – Max