Php 提交按钮不起作用-if-else语句

Php 提交按钮不起作用-if-else语句,php,mysql,Php,Mysql,我希望我的提交按钮在单击时运行if-else语句。在“我的用户”表中的“完成”字段中,如果值为6或更高,则应发送电子邮件(我有此代码),否则应显示错误或重定向到错误页面(我可以创建)。这是我的尝试,但即使值为6,也会显示错误消息 $usr_email = 'usr_email'; $user_name = 'user_name'; { $sqltest = "SELECT complete From users where user_id = ".intval($_SESSION['user_i

我希望我的提交按钮在单击时运行if-else语句。在“我的用户”表中的“完成”字段中,如果值为6或更高,则应发送电子邮件(我有此代码),否则应显示错误或重定向到错误页面(我可以创建)。这是我的尝试,但即使值为6,也会显示错误消息

$usr_email = 'usr_email';
$user_name = 'user_name';
{
$sqltest = "SELECT complete From users where user_id =
".intval($_SESSION['user_id']);
}
if (isset($_POST['doSend'])) {

function getOne($query){
    $res = mysql_query($query);
    if (!$res) {
        trigger_error("db: ".mysql_error()." in ".$query);
        return FALSE;
    }
}
    if ($row = mysql_fetch_row($res)) {
        return $row[0];
    }

$isSending = getOne($sqltest);
$isSending === false;
if($isSending >= 6){
require_once "Mail.php";

$from = "<xxx>";
$to = "$usr_email";
$subject = "Hi";
$body = hello ";

$host = "ssl://smtp.gmail.com";
$port = "465";
$username = "xxx";
$password = "xxx";

$headers = array ('From' => $from,
    'To' => $to,
    'Subject' => $subject);
$smtp = Mail::factory('smtp',
    array ('host' => $host,
        'port' => $port,
        'auth' => true,
        'username' => $username,
        'password' => $password));

$mail = $smtp->send($to, $headers, $body);

if (PEAR::isError($mail)) {
    echo("<p>" . $mail->getMessage() . "</p>");
} else {
    header ("Location: error.php");
}
}
}
$usr_email='usr_email';
$user_name='user_name';
{
$sqltest=“从用户id为=
“.intval($\u会话['user\u id']);
}
如果(isset($_POST['doSend'])){
函数getOne($query){
$res=mysql\u query($query);
如果(!$res){
触发错误(“$query”中的“.mysql\u error()”);
返回FALSE;
}
}
如果($row=mysql\u fetch\u row($res)){
返回$row[0];
}
$isSending=getOne($sqltest);
$isSending===false;
如果($isSending>=6){
需要一次“Mail.php”;
$from=“”;
$to=“$usr\U电子邮件”;
$subject=“Hi”;
$body=hello”;
$host=”ssl://smtp.gmail.com";
$port=“465”;
$username=“xxx”;
$password=“xxx”;
$headers=数组('From'=>$From,
'至'=>$至,
“主题”=>$Subject);
$smtp=Mail::工厂('smtp',
数组('host'=>$host,
“端口”=>$port,
“auth”=>正确,
“用户名”=>$username,
“密码”=>$password));
$mail=$smtp->send($to、$headers、$body);
if(PEAR::isError($mail)){
echo(“”$mail->getMessage()”

”; }否则{ 标题(“Location:error.php”); } } }
在大多数(如果不是所有)浏览器中,提交按钮如果不在a中则不起作用,html是否在您的周围有标记?如果没有,请将输入标记包装在表单中,它将起作用。

在大多数(如果不是所有)浏览器中,提交按钮如果不在a中则不起作用,html是否在您的周围有标记?如果没有,请将输入标记包装在表单中,它将起作用k、

看起来你周围没有表格?这个怎么样:

<p align="center">
<form action="<?=$_SERVER['PHP_SELF']?>" method="POST">
    <input name="doSend" type="submit" id="doSend" value="Submit Application">
</form>
</p>

看起来你周围没有表格?这个怎么样:

<p align="center">
<form action="<?=$_SERVER['PHP_SELF']?>" method="POST">
    <input name="doSend" type="submit" id="doSend" value="Submit Application">
</form>
</p>
改变

改变


函数定义在第二个
if
语句之前终止:

function getOne($query){
    $res = mysql_query($query);
    if (!$res) {
        trigger_error("db: ".mysql_error()." in ".$query);
        return FALSE;
    }
}
if ($row = mysql_fetch_row($res)) {
    return $row[0];
}
应该是:

function getOne($query){
    $res = mysql_query($query);
    if (!$res) {
        trigger_error("db: ".mysql_error()." in ".$query);
        return FALSE;
    }
    if ($row = mysql_fetch_row($res)) {
        return $row[0];
    }
}

现在,从sql查询获得的值永远不会返回。

函数定义在第二个
if
语句之前终止:

function getOne($query){
    $res = mysql_query($query);
    if (!$res) {
        trigger_error("db: ".mysql_error()." in ".$query);
        return FALSE;
    }
}
if ($row = mysql_fetch_row($res)) {
    return $row[0];
}
应该是:

function getOne($query){
    $res = mysql_query($query);
    if (!$res) {
        trigger_error("db: ".mysql_error()." in ".$query);
        return FALSE;
    }
    if ($row = mysql_fetch_row($res)) {
        return $row[0];
    }
}


现在,从sql查询中获得的值永远不会返回。

你的表单在哪里?它的目标是什么?``它没有目标?@Madbreaks我正在尝试改进:)你的表单在哪里?它的目标是什么?``它没有目标?@Madbreaks我正在尝试改进:)这不是答案,请在原始帖子的评论中提出问题。Ju因为这不是危险并不意味着这不是答案。它不回答问题的事实意味着它不是答案。这不是答案,请在原始帖子的评论中提出问题。只是因为这不是危险并不意味着这不是答案。它不回答问题的事实意味着它不是答案。不是吗hanks现在,即使值为6,它也会重定向到错误页:(请参阅编辑抱歉,如果数字小于6,错误页就是它重定向到的页。这不是实际的错误您可以确定
getOne($sqltest)
输出6或更大的值?尝试删除此行
$isSending===false;
仍在执行相同的操作。我将在问题中添加更多的邮件代码,看看这是否会影响else语句您的if语句的计算是否正确。if
PEAR::isError($mail)
返回false,这意味着没有错误并转到else。你的else不应该包含
标题(“Location:error.php”);
谢谢,即使值为6:(请参阅编辑抱歉,如果数字小于6,则错误页面是它重定向到的页面。这不是一个实际错误您可以确定
getOne($sqltest)
输出6或更大的值?尝试删除此行
$isSending===false;
仍在执行相同的操作。我将在问题中添加更多的邮件代码,看看这是否会影响else语句您的if语句的计算是否正确。if
PEAR::isError($mail)
返回false,表示没有错误并转到else。else不应包含
标题(“Location:error.php”);
谢谢,即使值大于6,它也会重定向到错误页。请参阅editI编辑该行时得到此信息
db:您的SQL语法有错误;请查看与您的MySQL服务器版本对应的手册,以获得在“9”附近使用的正确语法。
谢谢,即使值为e大于6。请参阅editI编辑该行时得到此信息
db:您的SQL语法有错误;请查看与您的MySQL服务器版本对应的手册,以了解在“9”附近使用的正确语法。
function getOne($query){
    $res = mysql_query($query);
    if (!$res) {
        trigger_error("db: ".mysql_error()." in ".$query);
        return FALSE;
    }
    if ($row = mysql_fetch_row($res)) {
        return $row[0];
    }
}