Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP忽略if语句_Php_Html_Forms_Preg Match - Fatal编程技术网

PHP忽略if语句

PHP忽略if语句,php,html,forms,preg-match,Php,Html,Forms,Preg Match,我在这里遇到了一个非常奇怪的问题,我的if-else语句在我提交表单后被忽略,所有输入或未输入的值都会进入数据库 首先,我用注册过程中提交的信息预先填充所有字段,然后用户可以编辑和更改他们的信息-这很好,但我决定添加它,因为我不知道它是否可能与这个神秘错误有关 这是我用来检索详细信息的代码,保存检索值的变量在表单中各自的字段中进行了回显 <?php include("connect.php"); $results = $conn->query("SELECT username, fi

我在这里遇到了一个非常奇怪的问题,我的if-else语句在我提交表单后被忽略,所有输入或未输入的值都会进入数据库

首先,我用注册过程中提交的信息预先填充所有字段,然后用户可以编辑和更改他们的信息-这很好,但我决定添加它,因为我不知道它是否可能与这个神秘错误有关

这是我用来检索详细信息的代码,保存检索值的变量在表单中各自的字段中进行了回显

<?php
include("connect.php");
$results = $conn->query("SELECT username, first_name,last_name,   email,phone,address FROM users WHERE email='$user_logged'");


while ($row = $results->fetch_assoc()) {
    $u_name  = $row['username'];
    $f_name  = $row['first_name'];
    $l_name  = $row['last_name'];
    $email   = $row['email'];
    $phone   = $row['phone'];
    $address = $row['address'];
}

$results->free();

$conn->close();
?>
这是我的html代码



你可以试着换一个

"/^[a-zA-Z ]*$/"


请注意,我们将用一个求和符号替换相乘符号,在继续这样的更新之前,您需要检查$phoneErr、$f_nameErr、$l_nameErr的值

if(empty($phoneErr) && empty($f_nameErr) && empty($l_nameErr)){
   $results = $conn->query("UPDATE users SET      first_name='$first_name',last_name='$last_name', email='$user_email',phone='$phone_upadate',address='$address_updated' WHERE email='$user_logged'");
}

因为当您在empty或preg_match中出现任何验证错误时,您正在更新这些值。如果不检查这些$phoneErr、$f_nameErr、$l_nameErr变量,您将继续更新

如果没有缩进,很难读取,请更正它好吗?另外,您是否尝试添加日志,查看执行行的位置,以及php_error.log中是否有任何内容?这是我第一次在这里提问,没有完全正确地进行缩进,我已经编辑了我的帖子
"/^[a-zA-Z ]+$/"
if(empty($phoneErr) && empty($f_nameErr) && empty($l_nameErr)){
   $results = $conn->query("UPDATE users SET      first_name='$first_name',last_name='$last_name', email='$user_email',phone='$phone_upadate',address='$address_updated' WHERE email='$user_logged'");
}