2012-07-25 48 views
-2

http://www.phpeasystep.com/phptu/24.html 我遵循上面的指南。php mysql錯誤試圖取得電子郵件驗證 - phpmyadmin

我把這些代碼後,我做出了正確的表

Table "temp_members_db" 
CREATE TABLE `temp_members_db` (
`confirm_code` varchar(65) NOT NULL default '', 
`name` varchar(65) NOT NULL default '', 
`email` varchar(65) NOT NULL default '', 
`password` varchar(15) NOT NULL default '', 
`country` varchar(65) NOT NULL default '' 
) ENGINE=MyISAM DEFAULT CHARSET=latin1;` 

`Table "registered_members" 
CREATE TABLE `registered_members` (
`id` int(4) NOT NULL auto_increment, 
`name` varchar(65) NOT NULL default '', 
`email` varchar(65) NOT NULL default '', 
`password` varchar(65) NOT NULL default '', 
`country` varchar(65) NOT NULL default '', 
PRIMARY KEY (`id`) 
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; 

我signup.php:

<table width="350" border="0" align="center" cellpadding="0" cellspacing="0"> 
<tr> 
<td><form name="form1" method="post" action="signup_ac.php"> 
<table width="100%" border="0" cellspacing="4" cellpadding="0"> 
<tr> 
<td colspan="3"><strong>Sign up</strong></td> 
</tr> 
<tr> 
<td width="76">Name</td> 
<td width="3">:</td> 
<td width="305"><input name="name" type="text" id="name" size="30"></td> 
</tr> 
<tr> 
<td>E-mail</td> 
<td>:</td> 
<td><input name="email" type="text" id="email" size="30"></td> 
</tr> 
<tr> 
<td>password</td> 
<td>:</td> 
<td><input name="password" type="password" id="password" size="30"></td> 
</tr> 
<tr> 
<td>Country</td> 
<td>:</td> 
<td><input name="country" type="text" id="country" size="30"></td> 
</tr> 
<tr> 
<td>&nbsp;</td> 
<td>&nbsp;</td> 
<td><input type="submit" name="Submit" value="Submit"> &nbsp; 
<input type="reset" name="Reset" value="Reset"></td> 
</tr> 
</table> 
</form></td> 
</tr> 
</table> 

我signup_ ac.php:

<?php 

include('config.php'); 

// table name 
$tbl_name=temp_members_db; 

// Random confirmation code 
$confirm_code=md5(uniqid(rand())); 

// values sent from form 
$name=$_POST['name']; 
$email=$_POST['email']; 
$country=$_POST['country']; 

// Insert data into database 
$sql="INSERT INTO $tbl_name(confirm_code, name, email, password, country)VALUES('$confirm_code', '$name', '$email', '$password', '$country')"; 
$result=mysql_query($sql); 

// if suceesfully inserted data into database, send confirmation link to email 
if($result){ 

// ---------------- SEND MAIL FORM ---------------- 


// send e-mail to ... 
$to=$email; 

// Your subject 
$subject="Your confirmation link here"; 

// From 
$header="from: your name <your email>"; 

// Your message 
$message="Your Comfirmation link \r\n"; 
$message.="Click on this link to activate your account \r\n"; 
$message.="http://www.yourweb.com/confirmation.php?passkey=$confirm_code"; 


// send email 
$sentmail = mail($to,$subject,$message,$header); 

} 


// if not found 
else { 
echo "Not found your email in our database"; 
} 


// if your email succesfully sent 
if($sentmail){ 
echo "Your Confirmation link Has Been Sent To Your Email Address."; 
} 
else { 
echo "Cannot send Confirmation link to your e-mail address"; 
} 

?> 

我confirmation.php:

<?php 

include('config.php'); 

// Passkey that got from link 
$passkey=$_GET['passkey']; 

$tbl_name1="temp_members_db"; 

// Retrieve data from table where row that match this passkey 
$sql1="SELECT * FROM $tbl_name1 WHERE confirm_code ='$passkey'"; 
$result1=mysql_query($sql1); 

// If successfully queried 
if($result1){ 

// Count how many row has this passkey 
$count=mysql_num_rows($result1); 

// if found this passkey in our database, retrieve data from table "temp_members_db" 
if($count==1){ 

$rows=mysql_fetch_array($result1); 
$name=$rows['name']; 
$email=$rows['email']; 
$password=$rows['password']; 
$country=$rows['country']; 

$tbl_name2="registered_members"; 

// Insert data that retrieves from "temp_members_db" into table "registered_members" 
$sql2="INSERT INTO $tbl_name2(name, email, password, country)VALUES('$name', '$email', '$password', '$country')"; 
$result2=mysql_query($sql2); 
} 

// if not found passkey, display message "Wrong Confirmation code" 
else { 
echo "Wrong Confirmation code"; 
} 

// if successfully moved data from table"temp_members_db" to table "registered_members" displays message "Your account has been activated" and don't forget to delete confirmation code from table "temp_members_db" 
if($result2){ 

echo "Your account has been activated"; 

// Delete information of this user from table "temp_members_db" that has this passkey 
$sql3="DELETE FROM $tbl_name1 WHERE confirm_code = '$passkey'"; 
$result3=mysql_query($sql3); 

} 

} 
?> 

最後我的config.php:

<?php 

$host="localhost"; // Host name 
$username=""; // Mysql username 
$password=""; // Mysql password 
$db_name=""; // Database name 


//Connect to server and select database. 
mysql_connect("$host", "$username", "$password")or die("cannot connect to server"); 
mysql_select_db("$db_name")or die("cannot select DB"); 

?> 

我收到signup_ac.php錯誤:

Warning: mysql_connect() [function.mysql-connect]: Access denied for user 'vhostswww'@'MYIP I THINK' (using password: NO) in /www/kkk.org/k/k/k/kkkhits/htdocs/config.php on line 12 
cannot connect to server 
+0

你還沒有問任何問題 – dpitkevics 2012-07-25 08:51:54

+0

在你的代碼太多的問題! – Rikesh 2012-07-25 08:53:00

+0

太多的代碼!簡化,男人。 – Ben 2012-07-25 08:54:29

回答

1

使用中需要做這樣的事情,你看那些星星) -

編輯 -

<?php 

$host="localhost"; // Host name 
$username=""; // Mysql username 
$password=""; // Mysql password 
$db_name=""; // Database name 


//Connect to server and select database. 
$con = mysql_connect("$host", "$username", "$password")or die("cannot connect to server"); 
mysql_select_db("$db_name",$con)or die("cannot select DB"); 

?> 
+0

我在哪裏放? : -/ – 2012-07-25 09:09:59

+0

@XavierD檢查我更新的代碼 – swapnesh 2012-07-25 09:11:49

+0

我使用的數據庫名稱temp_members_db或registered_members – 2012-07-25 09:20:12