2017-06-05 162 views
-3

它正在工作,但现在它停止工作为什么?写入一个文件并保存它是最好的。它昨天正在工作,但今天它停下来,我不知道为什么搜索互联网,但仍然没有我不能。未捕获错误:调用未定义函数

在先进的感谢

<!DOCTYPE html> 
<html> 
<head> 
    <title>Contact us</title> 

    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script> 
      <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" /> 
      <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script> 
</head> 
<body> 

<nav class="navbar navbar-default"> 
     <div class="container-fluid"> 
     <!-- Brand and toggle get grouped for better mobile display --> 
     <div class="navbar-header"> 
      <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1" aria-expanded="false"> 
      <span class="sr-only">Toggle navigation</span> 
      <span class="icon-bar"></span> 
      <span class="icon-bar"></span> 
      <span class="icon-bar"></span> 
      </button> 

     </div> 

     <!-- Collect the nav links, forms, and other content for toggling --> 
     <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1"> 
      <ul class="nav navbar-nav"> 
      <li><a href="aboutus.html">About US</a></li> 
      <li><a href="contactus.php">Contact Us</a></li> 
      <li><a href="property.php">Propertys</a></li> 
      </ul> 

     </div><!-- /.navbar-collapse --> 
     </div><!-- /.container-fluid --> 
    </nav> 

    <h1>Contact us</h1> 

    <form method="post" action="contactus.php" > 

     <label>Email</label> 
     <input type="text" name="email" required> 
     <br> 
     <label>Mobile number</label> 
     <input type="number" name="number" required> 
     <br> 
     <textarea name="comments" required></textarea> 

     <button name="submit" type="submit"> submit</button> 


    </form> 

    <?php 

      if(isset($_POST['submit'])){ 
     $number = $_POST["number"]; 
     $email = $_POST["email"]; 

     $trueemail; 


     $massage = $_POST["comments"]; 


     if(isset($number)){ 



      if (strlen($number) == 8) { 

       $truenumber = true; 
      }else{ 

       echo "Input your mobile number"; 

      } 
     } 


     if(isset($email)){ 
     if (!filter_var($email, FILTER_VALIDATE_EMAIL)) { 
      echo "<br>"; 
      echo "Enter a valid email"; 
     }else{ 
      $trueemail = true; 
     } 
    } 

    if($trueemail == true && $truenumber == true){ 
    writeToFile($email,$number,$massage); 


    function writeToFile($trueemail,$truenumber,$massage) 
    { 

      $myfile = fopen("contectus.txt", "w") or die("Unable to open file!"); 
      fwrite($myfile, $trueemail . PHP_EOL); 
      fwrite($myfile, $truenumber . PHP_EOL); 
      fwrite($myfile, $massage . PHP_EOL); 
      fclose($myfile); 
    } 
} 
} 



    ?> 

</body> 
</html> 
+0

“*它不工作*”是不是很描述性的,使得它很难让我们来帮助你。哪个函数未定义? 'writeToFile()'?我们不能神奇地知道这一点。 ;-) – Qirel

+0

你能详细的粘贴什么错误吗? – Prasad

回答

0

尝试:

  1. 把提交事件的页面的开始。

  2. 您不能在调用之前定义调用函数。

    <?php 
    
        function writeToFile($trueemail,$truenumber,$massage) 
    { 
    
         $myfile = fopen("contectus.txt", "w") or die("Unable to open file!"); 
         fwrite($myfile, $trueemail . PHP_EOL); 
         fwrite($myfile, $truenumber . PHP_EOL); 
         fwrite($myfile, $massage . PHP_EOL); 
         fclose($myfile); 
    } 
    
    
         if(isset($_POST['submit'])){ 
        $number = $_POST["number"]; 
        $email = $_POST["email"]; 
    
        $trueemail; 
    
    
        $massage = $_POST["comments"]; 
    
    
        if(isset($number)){ 
    
    
    
         if (strlen($number) == 8) { 
    
          $truenumber = true; 
         }else{ 
    
          echo "Input your mobile number"; 
    
         } 
        } 
    
    
        if(isset($email)){ 
        if (!filter_var($email, FILTER_VALIDATE_EMAIL)) { 
         echo "<br>"; 
         echo "Enter a valid email"; 
        }else{ 
         $trueemail = true; 
        } 
    } 
    
    if($trueemail == true && $truenumber == true){ 
    writeToFile($email,$number,$massage); 
    } } ?> 
    
+0

感谢他的工作Mayne我改变了它,并不知道 – Alastair

0

要调用writeToFile($email,$number,$massage);之前,你甚至宣称此功能。

在函数声明后移动writeToFile($email,$number,$massage);并且您的代码将正常工作。

0

如果条件满足,请将外部功能置于外部。像下面的代码这样

function writeToFile($trueemail,$truenumber,$massage) 
    { 

      $myfile = fopen("contectus.txt", "w") or die("Unable to open file!"); 
      fwrite($myfile, $trueemail . PHP_EOL); 
      fwrite($myfile, $truenumber . PHP_EOL); 
      fwrite($myfile, $massage . PHP_EOL); 
      fclose($myfile); 
    } 

if($trueemail == true && $truenumber == true){ 
    writeToFile($email,$number,$massage); 

} 
相关问题