Php 表单不拾取值

Php 表单不拾取值,php,forms,Php,Forms,我正在尝试一个密码重置请求,其中一个链接通过电子邮件发送给用户,以在我的站点上重置他们的密码,但PHP文件没有从我的表单中获取值。我最初将表单嵌入到我的PHP中只是为了让方法工作,但是对于我的格式,我需要将表单分开。它与嵌入的表单一起工作,但如果在HTML中单独使用表单,它将不起作用。我的表单HTML-- 电邮地址: 和我的PHP文件(“settings.PHP”是我的数据库文件)-- 您在发出Post请求时正在使用$\u GET 您必须改用$\u POST 试试这个: $email =

我正在尝试一个密码重置请求,其中一个链接通过电子邮件发送给用户,以在我的站点上重置他们的密码,但PHP文件没有从我的表单中获取值。我最初将表单嵌入到我的PHP中只是为了让方法工作,但是对于我的格式,我需要将表单分开。它与嵌入的表单一起工作,但如果在HTML中单独使用表单,它将不起作用。我的表单HTML--


电邮地址:

和我的PHP文件(“settings.PHP”是我的数据库文件)--


您在发出Post请求时正在使用
$\u GET

您必须改用
$\u POST

试试这个:

$email = $_POST['email'];

请注意,您的代码容易受到SQL注入的攻击,并且您正在使用不推荐使用的函数
mysql.*
谢谢!我还在学习PHP,所以我很感激!非常感谢。我以为我试过了,但显然没有。
<?php

$email=$_GET['email'];

include("settings.php");
connect();
$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();}
$token=getRandomString(10);
$q="insert into tokens (token,email) values ('".$token."','".$email."')";
mysql_query($q);
function getRandomString($length) 
       {
    $validCharacters = "ABCDEFGHIJKLMNPQRSTUXYVWZ123456789";
    $validCharNumber = strlen($validCharacters);
    $result = "";

    for ($i = 0; $i < $length; $i++) {
        $index = mt_rand(0, $validCharNumber - 1);
        $result .= $validCharacters[$index];
    }
    return $result;}
 function mailresetlink($to,$token){
$subject = "Forgot Password";
$uri = 'http://'. $_SERVER['HTTP_HOST'] ;
$message = '
<html>
<head>
<title>Forgot Password</title>
</head>
<body>
<p>Click on the given link to reset your password <a     href="'.$uri.'/reset.php?token='.$token.'">Reset Password</a></p>

</body>
</html>
';
$headers = "MIME-Version: 1.0" . "\r\n";
$headers .= "Content-type:text/html;charset=iso-8859-1" . "\r\n";
$headers .= 'From: Admin<noreply@ca>' . "\r\n";

if(mail($to,$subject,$message,$headers)){
    echo "We have sent the password reset link to your  email id <b>".$to."      </b>"; 
}}

if(isset($_GET['email']))mailresetlink($email,$token);
?>
$email = $_POST['email'];