【问题标题】:Warning: Undefined variable $myname even when the varable is defined above警告:未定义变量 $myname 即使变量已在上面定义
【发布时间】:2023-01-11 17:39:14
【问题描述】:

大家好,我是 php 的新手,我无法弄清楚为什么我会收到错误消息 我已经在上面声明了变量,并且我正在根据 if 条件填充变量的值,即使在执行 if 循环时填充了变量,错误仍然存​​在

以下是我的 PHP 代码

<?php
             $myname;
                if(isset($_POST["NWMovies"]) ){
                    echo "Now Showing Movies";
                    $myname='Now showing movies';
              
                  
                }if(isset($_POST["UpMovies"]) ){
                    echo "".$_POST["UpMovies"];
                    $myname='Now showing movies';
                   
                }
                


                $connect=mysqli_connect($servername,$username,$password,$Database);
                if ($connect->connect_error) {
                    die("Connection failed: " . $connect->connect_error);
                 }else{
                     
                   if(isset($_POST["submit"])){
                    $MovieName=$_POST["Moviename"];
                    $MovieGenre=$_POST["MovieGenre"];
                    $MovieLength=$_POST["MovieLength"];
                    $DirectorName=$_POST["DirectorName"];
                    $TrailerLink=$_POST["TrailerLink"];
                    $ReleaseDate=date('Y-m-d',strtotime($_POST["ReleaseDate"]));
                    $MovieImage=addslashes(file_get_contents($_FILES['MovieImage']['tmp_name']));
                    $MoviePoster=addslashes(file_get_contents($_FILES["MoviePoster"]['tmp_name']));
                    $crew=$_POST["Crew"];
                    $cast=$_POST["cast"];
                  
                    $crewname="";
                    $castname="";
                    foreach($crew as $key ){
                        $crewname.=$key.",";
                    }
                    foreach($cast as $key ){
                        $castname.=$key.",";
                    }
                   
             
              
                 hear i am getting error->  $sql="insert into movies values('','$MovieName','$MovieGenre','$MovieLength','$DirectorName','$TrailerLink','$castname','$crewname','$ReleaseDate','English','$myname','$MovieImage','$MoviePoster');";
                 //  $sql2="insert into adminlogin values ('','$mystatus','34574f');";
                 //    $sql="insert into image value('$MovieImage');";
                  if ($connect->query($sql) === TRUE) {
              
                    echo "New record created successfully";
                  } else {
                    echo "Error: " . $sql . "<br>" . $connect->error;
                  }
                   
                   }
                
                 }
                
                 
                
               
                ?>

【问题讨论】:

  • 尝试像 $myname=""; 这样初始化而不是 $myname;这会起作用
  • $我的名字;不是正确的初始化,你需要指定它的类型,例如 $my name =""';用于空字符串初始化
  • 请验证 $_POST['NWMovies']$_POST['UpMovies'] 是否已实际设置。你也开放SQL injections

标签: php


【解决方案1】:

尝试初始化为 $myname=""; 而不是 $myname; 这将起作用

【讨论】:

  • 这将删除通知,但将为匹配 $myname 的列留下空值/字符串的 OP
猜你喜欢
  • 2023-04-11
  • 2015-01-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-15
  • 1970-01-01
  • 2018-08-06
  • 2020-11-30
相关资源
最近更新 更多