Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/272.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 为什么没有显示错误消息?_Php_Jquery_Error Handling_Image Uploading - Fatal编程技术网

Php 为什么没有显示错误消息?

Php 为什么没有显示错误消息?,php,jquery,error-handling,image-uploading,Php,Jquery,Error Handling,Image Uploading,我对PHP非常陌生(从9月份开始才开始使用PHP,因此如果这是一个愚蠢的问题,我很抱歉,我被卡住了,无法找到答案!)并且无法理解为什么当用户提交表单时,表单为空时,我的错误消息不会显示 这是我的代码: <?php $salonid = ""; if (!$db_server){ die("Unable to connect to MySQL: " . mysqli_connect_error($db_server)); $db

我对PHP非常陌生(从9月份开始才开始使用PHP,因此如果这是一个愚蠢的问题,我很抱歉,我被卡住了,无法找到答案!)并且无法理解为什么当用户提交表单时,表单为空时,我的错误消息不会显示

这是我的代码:

    <?php
$salonid = "";
    if (!$db_server){
            die("Unable to connect to MySQL: " . mysqli_connect_error($db_server));
            $db_status = "not connected";
    }else{
        //Capture form data, if anything was submitted
        if (isset($_GET['salonid']) and ($_GET['salonid'] != '')){
            $salonid = clean_string($db_server, $_GET['salonid']);
            //If connected, get Salons from database and write out
            mysqli_select_db($db_server, $db_database);
            $query = "SELECT ID, salon_name, address, postcode, telephone, email, website FROM salon WHERE ID=$salonid";
            $result = mysqli_query($db_server, $query); 
            if (!$result) die("Query failed: " . mysqli_error($db_server));

            while($row = mysqli_fetch_array($result)){
                $str_result .= "<h2>" . $row[ 'salon_name'] . "</h2>";
                $str_result .= "<p>" . $row['address'] . "</p>";
                $str_result .= "<p>" . $row['postcode'] . "</p>";
                $str_result .= "<p>" . $row['telephone'] . "</p>";
                $str_result .= "<p>" . $row['email'] . "</p>";
                $str_result .= "<p>" . $row['website'] . "</p>";

            }
            mysqli_free_result($result);
        }else{
            $str_result = "<h2>No salon selected</h2>";

        }

    }
    echo $str_result;
?>

<?php 

if(trim($_POST['submit']) == "Submit comment"){

    //Get any submitted comments and insert
    $comment = clean_string($db_server, $_POST['comment']);
    if ($comment != '') {
        $name=$_FILES['photo']['name'];
        if ($name = "") $error .= "<p class='error'>You must upload an image!</p>";
        $originalname=$_FILES['photo']['name'];
        $type=$_FILES['photo']['type'];
        if ($type=="image/jpeg")  $type=".jpeg"; //if true change 
        else if ($type=="image/jpg") $type=".jpg";// if not true check this one
        else if ($type=="image/png") $type=".png";
        $name=uniqid() . $type;

        $path="images/" . $name;
        $tempname=$_FILES['photo']['tmp_name'];
        $size=$_FILES['photo']['size'];
        //Error checking
        if ($size >1000000) $error .= "<p class='error'>Your image file is to big, it have to be less than 200 mb</p>";
        if ($error=="") {
            if (move_uploaded_file($tempname, $path)){

                $uploadquery="INSERT INTO comments (comment, imagename, salonID, userID) VALUES ('$comment', '$path', $salonid, ". $_SESSION['userID'].")";
                mysqli_query($db_server,$uploadquery) or die ("Insert failed " . mysqli_error($db_server) . " " . $uploadquery);
                $message= "<h2>Thanks for your comment!</h2><p>Your upload was succesful</p>";
            }
        }
    }

}

//Print out existing comment
$query = "SELECT * FROM comments JOIN users ON comments.userID = users.ID WHERE salonID=$salonid"; 
$result = mysqli_query($db_server, $query);
if (!$result) die("Database access failed: " . mysqli_error($db_server));
while ($row = mysqli_fetch_array($result)){
        $str_comments .="<h2>" . $row['Username'] ."</h2>";
        $str_comments .= "<p>" . $row['comment'] . "</p>";
        $str_comments .="<img src='" . $row['imagename'] ."' />";
}

mysqli_free_result($result);

?>  
<div id="form">
<table><form id='review' action='salonpage.php?salonid=<?php echo $salonid; ?>' method='post' enctype='multipart/form-data'>
<th><h2> Do you want to review the service you recieved?</h2></th>
<tr><td><textarea name="comment" rows="6" cols="40">Write something here!</textarea></td></tr>
<tr><td><input type='file' name='photo' accept='image/jpg, image/jpeg, image/png'/></td></tr>
<br/>
<tr><td><input type='submit' id='submit' name='submit' value='Submit comment' /></td></tr>
</form></table>
<?php echo $message;
    echo $str_comments; ?>
</div>
<?php mysqli_close($db_server); ?>


这是一个赋值运算符,您需要在if条件下使用比较运算符
==
===

我想,您说的是$error,如果我是正确的,那么您在上述代码中没有回显$error变量。还有一件事是在if块中添加else部分“if($comment!='')”else{$error.=“未输入注释”}

检查
($name=“”)
正确格式
($name==”)
-所有这些都是使用
$error.=
而不声明
$error
,不起作用,我想我可能需要做的是添加另一个if语句,说明他们需要填写所有字段。我认为你不应该在没有任何知识的情况下复制粘贴,然后想知道为什么什么都不起作用-你需要首先检查所有
POST
值是否存在
if(!$allPresent){//display error}
,您正在谈论$error,如果我是正确的,那么您没有在上述代码中回显$error变量。还有一件事是在if块中添加else部分“if($comment!='')”else{$error.=“未输入注释”}对其进行排序!谢谢你,我已经盯着这个看了大约一个星期了,还没来得及整理它!我已经更新了我的代码来说明这一点,但是当所有框都为空时,不会显示任何错误消息。您需要添加其他条件来抛出异常或回显错误消息以向用户提供反馈。。例如,如果($comment!=''){..}否则{$error.=“未输入注释”}否则用户将不会知道这是因为注释为空。感谢您的帮助!通过简单地添加echo$error对其进行排序
if ($comment != '') {
        $name=$_FILES['photo']['name'];
        if ($name = "") $error .= "<p class='error'>You must upload an image!</p>";
        $originalname=$_FILES['photo']['name'];
$name = ""