2015-08-22 38 views
0

我很难弄清楚如何解决这个通知。我已经做到了,但结果是代码没有工作。我的逻辑不是那么高,这里是代码:PHP帮助我处理这个通知

Here is the error

你是否也解释了为什么性别不受限制,但文本框和textarea很好?

<!DOCTYPE HTML> 
<html> 
    <head> 
    </head> 
    <body> 
    <?php 
     if(isset($_POST['submit'])){ 
      $x=$_POST['name']; 
      $y=$_POST['email']; 
      $z=$_POST['website']; 
      $c=$_POST['comment']; 
      $v=$_POST['gender']; 

      if($x == '' or $y == '' or $z==''or $c=='' or $v==''){ 
       echo "* required all fields"; 

      }else{ 

       $result=$x.'<br>'.$y.'<br>'.$z.'<br>'.$c.'<br>'.$v; 


      } 
     } 



    ?> 
    <form action="" method="post"> 
     NAME:<input type="text" name="name"><br><br> 
     EMAIL:<input type="text" name="email"><br><br> 
     WEBSITE:<input type="text" name="website"><br><br> 
     <textarea name="comment" rows="5" cols="40"></textarea><br><br> 
     GENDER:<input type="radio" name="gender" value="Male">MALE 
     <input type="radio" name="gender" value="Female">Female<br><br> 
     <input type="submit" name="submit" value="Submit"> 
     </form> 
     <?php 
      echo "<h3>YOUR INPUT:</h3>"; 

      echo $result; 


     ?> 
    </body> 
</html> 
+1

而“代码无效”的意思是什么? _具体_如果你期待一个特定的答案。 – arkascha

+0

insted或使用|| –

+1

@evans_murira'或'是完全有效的。 – arkascha

回答

1
if($x == '' ||$y == '' || $z=='' || $c=='' || $v==''){ 
      echo "* required all fields"; 
     }else{ 

你不能用户或人为检查PHP手册

0

尝试这种方式

if(($x="" || empty($x))&&($y="" || empty($y))&&($z="" || empty($z))) 
{ 
    echo "* required all fields"; 
} 

可能它会帮助

+0

通常解释一些关于您的答案的做法被认为是很好的做法。 – Bono

0

你需要的是一个JS功能首先验证您的单选按钮,或者也可以使用HTML属性required(我已经写了他们两个)后面只有几个if-statements这应该工作得很好。

<!DOCTYPE HTML> 
<html> 
    <head> 
<script> 
     function validateForm(){ 
      for(i=0; i<document.form.radios.length; i++){  
       if(document.form.radios[i].checked==false){ 
       c=1; 
       } 
       else{ 
       c=0; 
       break; 
       }}   

       if(c==1){ 
       alert('Please select an option'); 
       } 
     } 
</script> 
    </head> 
    <body> 
    <?php 
     if(isset($_POST['submit'])){ 
      $x=$_POST['name']; 
      $y=$_POST['email']; 
      $z=$_POST['website']; 
      $c=$_POST['comment']; 

      if($x == '' or $y == '' or $z==''or $c=='') 
      {    echo "* required all fields"; 

      }else{ 

       $result=$x.'<br>'.$y.'<br>'.$z.'<br>'.$c; 



      } 
     } 



    ?> 
    <form action="" method="post"> 
     NAME:<input type="text" name="name"><br><br> 
     EMAIL:<input type="text" name="email"><br><br> 
     WEBSITE:<input type="text" name="website"><br><br> 
     <textarea name="comment" rows="5" cols="40"></textarea><br><br> 
    <input type="radio" name="gender" value="Male" required /> Male 
     <input type="radio" name="gender" value="Female" /> Female 
      <input type="submit" name = "submit" value="SAVE" /> 
     </form> 
    <?php 
    if(isset($_POST['submit'])) 
    { 
    if(!($x == '' or $y == '' or $z==''or $c=='')){ 
     echo "<h3>YOUR INPUT:</h3>"; 

     echo $result; 
    }else 
     echo "NOT ALL FIELDS WERE SELECTED.";} 
    ?> 

    </body> 
</html> 
+0

!($ x =='')与$ x!='' –

+0

@ShauiosbhaoiuAousiguosba有什么区别,无论哪种方式,您都可以对每个变量执行'!=',或者如果有更多条件需要检查简单'!(条件)'不应该伤害。 – user5173426

+0

我试图折射你的代码,并将其更改为$ x!=''它给了我不同的输出-_- –

0

你有一些不确定的variables.In为了使其工作试试这个:

<!DOCTYPE HTML> 
<html> 
    <head> 
    </head> 
    <body> 
    <?php 
    $result = ''; 
    $x = ''; 
    $y = ''; 
    $z = ''; 
    $c = ''; 
    $v = ''; 
    if(isset($_POST['submit'])){ 
    if(isset($_POST['name'])){ 
     $x= $_POST['name']; 
    } 
    if(isset($_POST['email'])){ 
     $y=$_POST['email']; 
    } 
    if(isset($_POST['website'])){ 
     $z=$_POST['website']; 
    } 
    if(isset($_POST['comment'])){ 
     $c=$_POST['comment']; 
    } 
    if(isset($_POST['gender'])){ 
     $v=$_POST['gender']; 
    } 
      ....... 

但是,你应该从PHP中分离HTML代码, 也许创造和index.html和。 PHP文件。将所有文件保存在同一个文件中是非常糟糕的做法。

0
$v=isset($_POST['gender'])?$_POST['gender']:'';