【发布时间】:2011-12-21 02:18:35
【问题描述】:
我有一个用户注册页面,用户在其中提交凭据并将其存储到数据库。下一个任务是为用户提供一个激活和验证链接到用户的邮件收件箱,这样用户点击链接并且与用户相关的激活码必须更新为 NULL 并使他的帐户处于活动状态,以便他可以登录。
我的代码: 文件 1:mysite.php
if($_REQUEST['Itemid']==209)
{
$email_id=$_REQUEST['email'];
if($email_id != '')
{
//This if condition will submit the data into the database
if (!isset($_POST['submit']))
{
HTML_mysite::newuser($subdom_names, $section_ord, $status);
}
else {
//$confirm_code=md5(uniqid(rand()));
$hostname = 'localhost'; //the parameters for the club database
$sqluser = 'root';
$sqlpass = '';
$dbName = 'club';
// Get connection to MySQL
$link = @mysql_pconnect($hostname, $sqluser, $sqlpass) or die('Unable to connect to database');
// Select the database
@mysql_select_db($dbName) or die('Unable to select database');
//check if the email id already exists.
$query_usrchk = "SELECT EML, PSW FROM visitor WHERE EML = '$_POST[email]'";
//Data is being inserted in visitor table
$result_usrchk = mysql_query($query_usrchk);
$num_rows_usrchk = mysql_num_rows($result_usrchk);
//update if email/password if correct
if($num_rows_usrchk == 1) // Checking if email id is present in the database..,if yes, status will be displayed.
{
$status="This Email address is already registered with us";
HTML_mysite::newuser($subdom_names, $section_ord, $status);
}
else
{
$confirm_code=md5(uniqid(rand()));
$query_usrinsert = "INSERT INTO visitor(`confirm_code`,`EML`, `PSW`, `PFN`, `FFN`, `GD1`, `AID`, `FA1`, `FP1`, `CT1`, `CN1`, `FT1`, `MOB`, `CID`)
VALUES ('$confirm_code','$_POST[email]','$_POST[pswd]', '$_POST[name]', '$_POST[organisation]', '$_POST[department]', '$_POST[designation]', '$_POST[address]', '$_POST[city]', '$_POST[zipcode]', '$_POST[country]', '$_POST[phonenumber]', '$_POST[mobile]', '$_POST[special]')";
$result_usrinsert = mysql_query($query_usrinsert);
}
}
文件 2:confirm.php
<?
include('config1.php');
$passkey=$_GET['passkey'];
if(isset($passkey)){
$query_activate_account = "UPDATE visitor SET confirm_code=NULL WHERE(EML ='$email' AND confirm_code='$passkey')LIMIT 1";
$result_activate_account = mysqli_query($link,$query_activate_account);
if (mysqli_affected_rows($link) == 1) //if update query was successfull
{
echo "Your account is now active. You may now login here : http://*********/club/login/login.php";
}
else
echo "Not activated";
}
?>
文件 3:config1.php
<?php
$hostname='localhost';
$sqluser='root';
$sqlpass='';
$dbName='club';
$link=@mysqli_connect($hostname,$sqluser,$sqlpass) or die('Error Connecting');
@mysqli_select_db($dbName,$link) or die('Unable to connect');
?>
点击链接时我的输出是无法连接!!
请帮帮我。
【问题讨论】:
-
你“错了”
@mysqli_select_db($dbName,$link) or die('Unable to connect');。 -
你似乎在混合
mysql和mysqli函数? -
不要把
@放在函数前面。它抑制警告,因此您基本上是在告诉 PHP 不要帮助您诊断问题 -
@N.B.哦,好吧,可能是谢谢,但你能告诉我正确的方法吗>? ,你的意思是不插入mysqli?
-
感谢 Juhana 和 Pekka - 混合 mysql 和 mysqli 是不是一个错误??