在从头开始构建登录/注册系统以自学PHP,mysql等的过程中,我正在尝试建立一个忘记密码"使用令牌的电子邮件链接系统,以重置忘记的密码。
我的数据库列设置如下: id,姓名,电子邮件,用户名,密码(不要担心,不是纯文本!),日期,个人资料,填充,令牌(最终标记为已发送的电子邮件以便重置),已使用(ENUM 0,1)。
现在为PHP
<?php
if(!isset($_GET['email'])){
echo'<form action="forgotpassword.php">
Enter Your Email Id:
<input type="text" name="email" />
<input type="submit" value="Reset My Password" />
</form>'; exit();
}
$email=$_GET['email'];
function connect() {
$link = mysql_connect('localhost', DB_USER, DB_PASS);
if (!$link) {
die('Could not connect: ' . mysql_error());
}
$db_selected = mysql_select_db(DB_NAME, $link);
if (!$db_selected) {
die('Can\'t use ' . DB_NAME . ': ' . mysql_error());
}
}
$q="SELECT email FROM users WHERE email='".$email."'";
$r=mysql_query($q);
$n=mysql_num_rows($r);
if($n==0){echo "Email id is not registered";
die();
}
代码继续,但我目前正在停止使用&#34;电子邮件ID未注册&#34;。但是,我确实在数据库中有一个存储电子邮件的测试条目。选择&#34;重置我的密码&#34;按钮,显示错误。
我知道我目前没有使用预先准备好的陈述。希望在我学习如何使用绑定之前看到这个工作。
最终,问题是,我正在尝试选择已在&#34;用户&#34;中注册的电子邮件。电子邮件设置为$ _GET [&#39; email&#39;]的表格,我不明白为什么这不起作用?
感谢您的帮助。如果需要更多信息,请告诉我。
答案 0 :(得分:1)
connect();
之前添加$q="SELECT email FROM users WHERE email='".$email."'";
$q="SELECT email FROM users WHERE email='".trim($email)."'";
trim将有助于删除空格(如果有)尝试使用mysqli,因为不推荐使用mysql
<?php
if(!isset($_GET['email'])){
echo'<form action="forgotpassword.php">
Enter Your Email Id:
<input type="text" name="email" />
<input type="submit" value="Reset My Password" />
</form>'; exit();
}
$email=$_GET['email'];
function connect() {
$link = mysql_connect('localhost', DB_USER, DB_PASS);
if (!$link) {
die('Could not connect: ' . mysql_error());
}
$db_selected = mysql_select_db(DB_NAME, $link);
if (!$db_selected) {
die('Can\'t use ' . DB_NAME . ': ' . mysql_error());
}
}
connect();
$q="SELECT email FROM users WHERE email='".trim($email)."'";
$r=mysql_query($q);
$n=mysql_num_rows($r);
if($n==0){echo "Email id is not registered";
die();
}
答案 1 :(得分:1)
do
{
digit = number % 10;
switch (digit) {
case 0:
[self prependNumber:@"zero"];
break;
case 1:
[self prependNumber:@"one"];
break;
case 2:
[self prependNumber:@"two"];
break;
case 3:
[self prependNumber:@"three"];
break;
case 4:
[self prependNumber:@"four"];
break;
case 5:
[self prependNumber:@"five"];
break;
case 6:
[self prependNumber:@"six"];
break;
case 7:
[self prependNumber:@"seven"];
break;
case 8:
[self prependNumber:@"eight"];
break;
case 9:
[self prependNumber:@"nine"];
break;
default:
break;
}
number /= 10;
}
while (number != 0);
/************/
-(void) prependNumber:(NSString*)str{
NSLog(str);
}