2017-06-22 134 views
0

我試圖插入DATABSE數據時錯誤,我得到以下信息:有致命錯誤的錯誤:無法重新聲明domain_exists();

Notice: Undefined variable: host in C:\wamp64\www\email_verify\index.php on line 53 Notice: Undefined variable: target in C:\wamp64\www\email_verify\index.php on line 53 Notice: Undefined variable: target_ip in C:\wamp64\www\email_verify\index.php on line 53 Fatal error: Cannot redeclare domain_exists() (previously declared in C:\wamp64\www\email_verify\index.php:13) in C:\wamp64\www\email_verify\index.php on line 13

我怎樣才能解決呢......?

<?php 
include_once('config.php'); 
if(isset($_POST["email_verify_btn"])) { 

     $email = $_POST["email_verify"]; 

     if(strpos($email,"\n")) { 

     $text = explode("\n",$email); 

      foreach ($text as $abc) { 

        function domain_exists($abc) 
        { 
         $domain = substr(strrchr($abc, "@"), 1); 

         $arr = @dns_get_record($domain, DNS_MX); 

         if ($arr[0]['host'] == $domain && !empty($arr[0]['target'])) { 
          return $arr[0]['target']; 
         } 
        } 
        if(domain_exists($abc)){ 
         $domain = substr(strrchr($fetch_email, "@"), 1); 

         $data = @dns_get_record($domain, DNS_MX); 

          if($data) { 
          $status = "email id is valid";      
         }   
         if (is_array($data) || is_object($data)) { 

          foreach ($data as $key1) { 

           $host = $key1['host']; 
           $target = $key1['target']; 
           $target_ip = gethostbyname($key1['target']); 

          } 

         } 



        } else { 
         $status = "mx recored not exist"; 
        } 

        $c_by = 1; 
        $c_date = date('Y-m-d H:i:s'); 
        $c_ip = $_SERVER['REMOTE_ADDR']; 

        $insert = $connect->query("INSERT INTO `email_verify_list`(`primary_email`,`host_name`,`target`,`target_ip`,`session`,`created_by`, `created_date`, `created_ip`) VALUES ('$abc','$host','$target','$target_ip','$c_ip','$c_by','$c_date','$c_ip')"); 


        if($insert) { 
         $_SESSION['date_time'] = $c_date; 
         echo "<script>alert('successfully');</script>"; 
        } else { 
         echo "<script>alert('!!!!!not successfully');</script>";          
        } 



      } 


     } 

} 
?> 

<!DOCTYPE html> 
<html> 


<head> 
<meta http-equiv="content-type" content="text/html;charset=UTF-8"/> 
<meta charset="utf-8"/> 
<title>BULK EMAIL VARIFIER</title> 
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no, shrink-to-fit=no"/> 
<link rel="apple-touch-icon" href="pages/ico/60.png"> 
<link rel="apple-touch-icon" sizes="76x76" href="pages/ico/76.png"> 
<link rel="apple-touch-icon" sizes="120x120" href="pages/ico/120.png"> 
<link rel="apple-touch-icon" sizes="152x152" href="pages/ico/152.png"> 
<link rel="icon" type="image/x-icon" href="favicon.ico"/> 
<meta name="apple-mobile-web-app-capable" content="yes"> 
<meta name="apple-touch-fullscreen" content="yes"> 
<meta name="apple-mobile-web-app-status-bar-style" content="default"> 
<meta content="" name="description"/> 
<meta content="" name="author"/> 
<link href="assets/plugins/pace/pace-theme-flash.css" rel="stylesheet" type="text/css"/> 
<link href="assets/plugins/bootstrapv3/css/bootstrap.min.css" rel="stylesheet" type="text/css"/> 
<link href="assets/plugins/font-awesome/css/font-awesome.css" rel="stylesheet" type="text/css"/> 
<link href="assets/plugins/jquery-scrollbar/jquery.scrollbar.css" rel="stylesheet" type="text/css" media="screen"/> 
<link href="assets/plugins/switchery/css/switchery.min.css" rel="stylesheet" type="text/css" media="screen"/> 
<link href="pages/css/pages-icons.css" rel="stylesheet" type="text/css" /> 
<link class="main-stylesheet" href="pages/css/pages.css" rel="stylesheet" type="text/css"/> 
<!--[if lte IE 9]> 
    <link href="assets/plugins/codrops-dialogFx/dialog.ie.css" rel="stylesheet" type="text/css" media="screen" /> 
    <![endif]--> 
</head> 
<body class="fixed-header "> 

<div id="rootwizard" class="m-t-50"> 

<ul class="nav nav-tabs nav-tabs-linetriangle nav-tabs-separator nav-stack-sm"> 
<li class="active"> 
<a data-toggle="tab" href="#tab1"><span>EMAIL VERIFY</span></a> 
</li> 
</ul> 

<form method="post" action="" > 

<div class="tab-content"> 
<div class="tab-pane padding-20 active slide-left" id="tab1"> 
<div class="row row-same-height"> 
<div class="col-md-12"> 
<div class="padding-30"> 
     <div class="row clearfix"> 
     <div class="col-sm-3"> 
     <div class="form-group form-group-default"> 
     <label><font size="2">ENTER YOUR EMAIL&nbsp;&nbsp;&nbsp;<span class="glyphicon glyphicon-envelope"></span></font></label><br> 
     <textarea cols="43" rows="9" name="email_verify" style="border-color:white;border-width:thin;padding:4pt;" multiple/></textarea><br> 
     </div> 
     </div> 
     </div> 
     <div class="row clearfix"> 
     <div class="col-sm-3"> 
     <button type="submit" name="email_verify_btn" class="btn btn-lg btn-info" style="padding:11pt;width:200px;"/><span><b><font size="2">SUBMIT</font></b></span></button> 
     </div> 
     </div> <br><br> 
     <div class="row clearfix"> 
     <div class="col-sm-12"> 
     <table width="100%" class="table "> 
     <tr class="success"> 
     <th>PRIMARY EMAIL&nbsp;&nbsp;&nbsp;<span class="glyphicon glyphicon-envelope"></span></th> 
     <th>HOST NAME</th> 
     <th>TARGET</th> 
     <th>TARGET IP</th> 
     <th>STATUS</th> 
     </tr> 
     <?php 

     $select = $connect->query("SELECT * from `email_verify_list` where session='".$_SESSION['date_time']."' order by id"); 
     while($row = $select->fetch_assoc()) { 
     ?> 
     <tr> 
     <td><?php echo $row['primary_email']; ?></td> 
     <td><?php echo $row['host_name']; ?></td> 
     <td><?php echo $row['target']; ?></td> 
     <td><?php echo $row['target_ip']; ?></td> 
     <td><?php echo $row['status']; ?></td> 
     </tr> 
     <?php } ?> 
     </table> 
     </div> 
     </div> 
</div> 
</div> 
</div> 
</div> 
</div> 
</form> 

</div> 



<script src="assets/plugins/pace/pace.min.js" type="text/javascript"></script> 
<script src="assets/plugins/jquery/jquery-1.11.1.min.js" type="text/javascript"></script> 
<script src="assets/plugins/modernizr.custom.js" type="text/javascript"></script> 
<script src="assets/plugins/jquery-ui/jquery-ui.min.js" type="text/javascript"></script> 
<script src="assets/plugins/bootstrapv3/js/bootstrap.min.js" type="text/javascript"></script> 
<script src="assets/plugins/jquery/jquery-easy.js" type="text/javascript"></script> 
<script src="assets/plugins/jquery-unveil/jquery.unveil.min.js" type="text/javascript"></script> 
<script src="assets/plugins/jquery-bez/jquery.bez.min.js"></script> 
<script src="assets/plugins/jquery-ios-list/jquery.ioslist.min.js" type="text/javascript"></script> 
<script src="assets/plugins/jquery-actual/jquery.actual.min.js"></script> 
<script src="assets/plugins/jquery-scrollbar/jquery.scrollbar.min.js"></script> 
<script type="text/javascript" src="assets/plugins/classie/classie.js"></script> 
<script src="assets/plugins/switchery/js/switchery.min.js" type="text/javascript"></script> 
<script src="assets/plugins/bootstrap3-wysihtml5/bootstrap3-wysihtml5.all.min.js"></script> 
<script type="text/javascript" src="assets/plugins/jquery-autonumeric/autoNumeric.js"></script> 
<script type="text/javascript" src="assets/plugins/bootstrap-tag/bootstrap-tagsinput.min.js"></script> 
<script type="text/javascript" src="assets/plugins/jquery-inputmask/jquery.inputmask.min.js"></script> 
<script src="assets/plugins/bootstrap-form-wizard/js/jquery.bootstrap.wizard.min.js" type="text/javascript"></script> 
<script src="assets/plugins/jquery-validation/js/jquery.validate.min.js" type="text/javascript"></script> 
<script src="assets/plugins/bootstrap-datepicker/js/bootstrap-datepicker.js" type="text/javascript"></script> 
<script src="assets/plugins/summernote/js/summernote.min.js" type="text/javascript"></script> 
<script src="assets/plugins/moment/moment.min.js"></script> 
<script src="assets/plugins/bootstrap-daterangepicker/daterangepicker.js"></script> 
<script src="assets/plugins/bootstrap-timepicker/bootstrap-timepicker.min.js"></script> 
<script src="pages/js/pages.min.js"></script> 
<script src="assets/js/form_wizard.js" type="text/javascript"></script> 
<script src="assets/js/scripts.js" type="text/javascript"></script> 
<script src="assets/js/demo.js" type="text/javascript"></script> 
<script> 
     window.intercomSettings = { 
      app_id: "xt5z6ibr" 
     }; 
</script> 
</body> 
</html> 

回答

0

不要在循環中聲明函數。

將這個:

   function domain_exists($abc) 
       { 
        $domain = substr(strrchr($abc, "@"), 1); 

        $arr = @dns_get_record($domain, DNS_MX); 

        if ($arr[0]['host'] == $domain && !empty($arr[0]['target'])) { 
         return $arr[0]['target']; 
        } 
       } 

... 之前該行:

 foreach ($text as $abc) { 

接下來,你需要在同一水平上聲明變量$target$target_ip你盡力使用它們,即在與該線相同的水平上:

$insert = $connect->query("INSERT INTO `email_verify_list`(`primary_email`,`host_name`,`target`,`target_ip`,`session`,`created_by`, `created_date`, `created_ip`) VALUES ('$abc','$host','$target','$target_ip','$c_ip','$c_by','$c_date','$c_ip')") 
+0

所以我怎樣才能使用這個功能 –

+0

就像我在哪裏聲明函數 –

+0

@DharmeshMakwana如果您按照我的建議移動函數的聲明,它仍然會在您使用它的上下文中聲明,所以它不應該是任何問題 –

相關問題