【发布时间】:2023-03-23 00:56:02
【问题描述】:
我有一个带有电子邮件确认的注册脚本,它的工作几乎没有问题。 用户信息首先从表单发送到“临时”表,当他点击电子邮件确认链接时,信息从“临时”表发送到最终目的地“印度”表。
确认链接是一个名为“confirmation.php”的文件。
虽然代码将数据从一个表发送到另一个表,但它没有打印消息“Obrigado, o seu registo foi validado.”,葡萄牙语表示“谢谢,您的注册现已验证”。我做错了什么?
谢谢!
确认.php
<?php
include_once ('config.php');
$confirm_code = $_GET["confirm_code"];
$sql1 = mysqli_query($conn, "SELECT * FROM temp WHERE confirm_code = '$confirm_code'");
$result1= mysqli_fetch_array($sql1, MYSQLI_ASSOC);
if(mysqli_num_rows($sql1) == 1) {
$query = mysqli_query($conn, "INSERT INTO india (confirm_code, name, password, email) SELECT confirm_code, name, password, email FROM temp WHERE confirm_code = '$confirm_code'");
if($query) {
$del = mysqli_query($conn, "DELETE FROM temp WHERE confirm_code = '$confirm_code'");
if($del) {
$msg = "Obrigado, o seu registo foi validado.";
}
}
} else {
$msg2 = "Erro no registo";
}
$conn->close();
?>
【问题讨论】:
-
请缩进这样不可读的php代码。
-
如果您使用 mysqli 函数,出于安全考虑,您也可以bind your parameters,而不是在查询中随意转储变量。
-
您为消息设置了两个变量,但没有打印出此脚本中的值。
-
你展示了部分代码。这里没有打印你只设置变量。变量的名称也不同。