Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/267.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/9/loops/2.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((isset($\u POST['page\u id'])&(isset($\u POST['page\u title'])&&(isset($\u POST['page\u file\u name'])){ $_POST['page_id']; $page\u id=$\u POST['page\u id']; $page\u title=$\u POST['page\u title']; $page\u file\u name=$\u POST['page\u file\u name']。“.txt”; //检查数据库中是否已存在id或页面 $sql\u page\u check=“选择*从页面”; $sql\u page\u check\u result=mysqli\u query($conn,$sql\u page\u check); if($sql\u page\u check\u result==true){ 如果(mysqli_num_rows($sql_page_check_result)>0){ $pages\u present=mysqli\u num\u rows($sql\u page\u check\u result); 而($page=mysqli\u fetch\u assoc($sql\u page\u check\u result)){ 如果($page['page_id']=$page_id)| |($page['page_title']==$page_title)| |($page['page_file_name']=$page_file_name)){ echo“页面Id($Page\u Id)/$Page\u title/$Page\u file\u name已存在于数据库中,请检查并重试”; break1; } elseif($page_id==“”)| |($page_title==“”)| |($page_link==“”){ echo(“请填写所有字段”); 打破 } 否则{ 如果(!file_存在(“../pages/”$page_file_name)){ fopen(“../pages/”$page_文件名,“w”); $sql_add_menu=“插入页面值(“$page_id”、“$page_title”、“$page_file_name”)”; $sql\u add\u menu\u result=mysqli\u query($conn,$sql\u add\u menu); 如果($sql\u add\u menu\u result==true){ echo“$page_添加了标题页”; } } } } } } } 包括“footer.php”;_Php_Loops_Break - Fatal编程技术网

php中中断循环的问题 if((isset($\u POST['page\u id'])&(isset($\u POST['page\u title'])&&(isset($\u POST['page\u file\u name'])){ $_POST['page_id']; $page\u id=$\u POST['page\u id']; $page\u title=$\u POST['page\u title']; $page\u file\u name=$\u POST['page\u file\u name']。“.txt”; //检查数据库中是否已存在id或页面 $sql\u page\u check=“选择*从页面”; $sql\u page\u check\u result=mysqli\u query($conn,$sql\u page\u check); if($sql\u page\u check\u result==true){ 如果(mysqli_num_rows($sql_page_check_result)>0){ $pages\u present=mysqli\u num\u rows($sql\u page\u check\u result); 而($page=mysqli\u fetch\u assoc($sql\u page\u check\u result)){ 如果($page['page_id']=$page_id)| |($page['page_title']==$page_title)| |($page['page_file_name']=$page_file_name)){ echo“页面Id($Page\u Id)/$Page\u title/$Page\u file\u name已存在于数据库中,请检查并重试”; break1; } elseif($page_id==“”)| |($page_title==“”)| |($page_link==“”){ echo(“请填写所有字段”); 打破 } 否则{ 如果(!file_存在(“../pages/”$page_file_name)){ fopen(“../pages/”$page_文件名,“w”); $sql_add_menu=“插入页面值(“$page_id”、“$page_title”、“$page_file_name”)”; $sql\u add\u menu\u result=mysqli\u query($conn,$sql\u add\u menu); 如果($sql\u add\u menu\u result==true){ echo“$page_添加了标题页”; } } } } } } } 包括“footer.php”;

php中中断循环的问题 if((isset($\u POST['page\u id'])&(isset($\u POST['page\u title'])&&(isset($\u POST['page\u file\u name'])){ $_POST['page_id']; $page\u id=$\u POST['page\u id']; $page\u title=$\u POST['page\u title']; $page\u file\u name=$\u POST['page\u file\u name']。“.txt”; //检查数据库中是否已存在id或页面 $sql\u page\u check=“选择*从页面”; $sql\u page\u check\u result=mysqli\u query($conn,$sql\u page\u check); if($sql\u page\u check\u result==true){ 如果(mysqli_num_rows($sql_page_check_result)>0){ $pages\u present=mysqli\u num\u rows($sql\u page\u check\u result); 而($page=mysqli\u fetch\u assoc($sql\u page\u check\u result)){ 如果($page['page_id']=$page_id)| |($page['page_title']==$page_title)| |($page['page_file_name']=$page_file_name)){ echo“页面Id($Page\u Id)/$Page\u title/$Page\u file\u name已存在于数据库中,请检查并重试”; break1; } elseif($page_id==“”)| |($page_title==“”)| |($page_link==“”){ echo(“请填写所有字段”); 打破 } 否则{ 如果(!file_存在(“../pages/”$page_file_name)){ fopen(“../pages/”$page_文件名,“w”); $sql_add_menu=“插入页面值(“$page_id”、“$page_title”、“$page_file_name”)”; $sql\u add\u menu\u result=mysqli\u query($conn,$sql\u add\u menu); 如果($sql\u add\u menu\u result==true){ echo“$page_添加了标题页”; } } } } } } } 包括“footer.php”;,php,loops,break,Php,Loops,Break,问题是每个必须显示的错误消息都在循环中,并且多次显示,如果我使用break、die、exit,底部的footer.php不会显示,其他部分也不工作 您不需要循环。只需使用WHERE子句执行一个查询,查看数据库中是否已有任何输入。并使用准备好的查询来防止SQL注入 在执行查询之前,还应检查字段是否为空 if((isset($_POST['page_id'])) && (isset($_POST['page_title'])) && (isset($_POST['pa

问题是每个必须显示的错误消息都在循环中,并且多次显示,如果我使用break、die、exit,底部的footer.php不会显示,其他部分也不工作

您不需要循环。只需使用
WHERE
子句执行一个查询,查看数据库中是否已有任何输入。并使用准备好的查询来防止SQL注入

在执行查询之前,还应检查字段是否为空

if((isset($_POST['page_id'])) && (isset($_POST['page_title'])) && (isset($_POST['page_file_name']))) {
    $_POST['page_id'];
    $page_id = $_POST['page_id'];
    $page_title = $_POST['page_title'];
    $page_file_name = $_POST['page_file_name'].".txt";

    //to check if id or page already exists in database or not
    $sql_page_check = "SELECT * FROM page";
    $sql_page_check_result = mysqli_query($conn,$sql_page_check);
    if($sql_page_check_result == true){
        if(mysqli_num_rows($sql_page_check_result)>0){
            $pages_present =  mysqli_num_rows($sql_page_check_result);

            while($page = mysqli_fetch_assoc($sql_page_check_result)){
                if(($page['page_id']==$page_id) || ($page['page_title']==$page_title) || ($page['page_file_name']==$page_file_name)){
                    echo "Page Id ($page_id) /$page_title / $page_file_name already exists in database, please check and try again";
                    break1;
                }
                elseif(($page_id=="") || ($page_title=="") || ($page_link=="")){
                    echo ("<b style='color:red;'>Please fill all fields.</b>");
                    break;
                }

                else{
                    if(!file_exists("../pages/".$page_file_name)){
                        fopen("../pages/".$page_file_name,"w");

                        $sql_add_menu = "INSERT INTO page VALUES('$page_id','$page_title','$page_file_name')";

                        $sql_add_menu_result = mysqli_query($conn,$sql_add_menu);

                        if($sql_add_menu_result == true){ 
                            echo"<b style='color:green;'>$page_title Page Added</b>";
                        }
                    }
                }
            }   
        }
    }
}
include "footer.php";
if($page_id==“”)| |($page_title==“”)| |($page_link==“”)){
echo(“请填写所有字段”);
}否则{
$sql\u page\u check=“从页面id=?或页面标题=?或页面文件名=?”的页面中选择1”;
$stmt\u page\u check=mysqli\u prepare($conn,$sql\u page\u check);
mysqli_stmt_bind_参数($stmt_page_check,“iss”、$page_id、$page_title、$page_file_name);
mysqli_stmt_execute($stmt_page_check);
如果(mysql\u stmt\u num\u行($stmt\u页面检查)!=0){
echo“页面Id($Page\u Id)/$Page\u title/$Page\u file\u name已存在于数据库中,请检查并重试”;
}否则{
如果(!file_存在(“../pages/”$page_文件名){
fopen(“../pages/”$page_文件名,“w”);
}
$sql_add_menu=“插入页面值(?,?)”;
$stmt\u add\u menu=mysqli\u prepare($conn,$sql\u add\u menu);
mysql_stmt_bind_param($stmt_add_menu,“iss”、$page_id、$page_title、$page_file_name);
$sql\u add\u menu\u result=mysqli\u stmt\u execute($stmt\u add\u menu);
如果($sql\添加\菜单\结果){
echo“$page_添加了标题页”;
}
}
}

break1
无效。这是原始页面中的错误还是复制错误?@Barmar ya它只是break1[如果可以工作,就测试一下],在互联网上搜索解决方案,我发现我们也可以使用break1 break2,这取决于要断开多少个循环。我认为数字前需要有一个空格,我想不需要。但没有理由使用数字,除非你需要从一个内循环中断开外循环。没有空格不是必须的,这只是一次尝试方法:在这种情况下,@Barmar的答案是首选答案。但是,如果您再次遇到此问题,您可以设置一个变量(如
$is\u error
)到
true
并在循环后检查此变量a我们可以使用,但必须有解决方案,以便按照我在代码中使用的方法使用break完成工作。如果使用循环,则必须等到循环结束时插入新行。您需要设置一个变量,说明是否找到匹配行,并在循环。有关搜索数组的类似问题,请参阅。
if(($page_id=="") || ($page_title=="") || ($page_link=="")){
    echo ("<b style='color:red;'>Please fill all fields.</b>");
} else {
    $sql_page_check = "SELECT 1 FROM page WHERE page_id = ? OR page_title = ? OR page_file_name = ?";
    $stmt_page_check = mysqli_prepare($conn, $sql_page_check);
    mysqli_stmt_bind_param($stmt_page_check, "iss", $page_id, $page_title, $page_file_name);
    mysqli_stmt_execute($stmt_page_check);
    if (mysql_stmt_num_rows($stmt_page_check) != 0) {
        echo "Page Id ($page_id) /$page_title / $page_file_name already exists in database, please check and try again";
    } else {
        if (!file_exists ("../pages/".$page_file_name) {
            fopen("../pages/".$page_file_name,"w");
        }
        $sql_add_menu = "INSERT INTO page VALUES(?, ?, ?)";
        $stmt_add_menu = mysqli_prepare($conn, $sql_add_menu);
        mysql_stmt_bind_param($stmt_add_menu, "iss", $page_id, $page_title, $page_file_name);
        $sql_add_menu_result = mysqli_stmt_execute($stmt_add_menu);
        if($sql_add_menu_result){ 
            echo "<b style='color:green;'>$page_title Page Added</b>";
        }
    }
}