Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/298.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
Javascript php header not header函数不工作_Javascript_Php - Fatal编程技术网

Javascript php header not header函数不工作

Javascript php header not header函数不工作,javascript,php,Javascript,Php,我遇到了一个PHP头不工作的问题。这是完整的代码。一切正常,只是页面在结尾没有重定向 <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js" type="text/javascript"></script> <script src="js/jquery.tabSlideOut.v1.3.js"></script> <script&g

我遇到了一个PHP头不工作的问题。这是完整的代码。一切正常,只是页面在结尾没有重定向

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js" type="text/javascript"></script>
    <script src="js/jquery.tabSlideOut.v1.3.js"></script>
    <script>
         $(function(){
             $('.slide-out-div').tabSlideOut({
                 tabHandle: '.handle',                              //class of the element that will be your tab
                 pathToTabImage: '',          //path to the image for the tab (optionaly can be set using css)
                 imageHeight: '273px',                               //height of tab image
                 imageWidth: '63px',                               //width of tab image    
                 tabLocation: 'right',                               //side of screen where tab lives, top, right, bottom, or left
                 speed: 300,                                        //speed of animation
                 action: 'click',                                   //options: 'click' or 'hover', action to trigger animation
                 topPos: '200px',                                   //position from the top
                 fixedPosition: false                               //options: true makes it stick(fixed position) on scroll
             });
         });

         </script>
             <script src="js/form_value.js"></script>
             <script type="text/javascript">
<!--
function validateEmail()
{

   var emailID = document.myForm.email.value;
   atpos = emailID.indexOf("@");
   dotpos = emailID.lastIndexOf(".");
   if (atpos < 1 || ( dotpos - atpos < 2 )) 
   {
       alert("Please enter correct email ID")
       document.myForm.email.focus() ;
       return false;
   }
   return( true );
}

function validate()
{
   if( document.myForm.fname.value == "" )
   {
     alert( "Please provide your First name!" );
     document.myForm.fname.focus() ;
     return false;
   }

    if( document.myForm.lname.value == "" )
   {
     alert( "Please provide your Last name!" );
     document.myForm.lname.focus() ;
     return false;
   }
   if( document.myForm.phone.value == "" ||
           isNaN( document.myForm.phone.value ) ||
           document.myForm.phone.value.length < 8 )
   {
     alert( "Please provide a valid phone number" );
     document.myForm.phone.focus() ;
     return false;
   }
   if( document.myForm.email.value == "" )
   {
     alert( "Please provide a valid Email address" );
     document.myForm.email.focus() ;
     return false;
   }else{
     // Put extra check for data format
     var ret = validateEmail();
     if( ret == false )
     {
          return false;
     }
   }

   if( document.myForm.city.value == "" )
   {
     alert( "Please provide your City" );
     document.myForm.city.focus() ;
     return false;
   }
   return( true );
}
//-->
</script>


<body>

<div id="wrapper">
    <div id="footer">
        <div id="footer_inside">
        <span class="number">******</span>
        <div id="follow">
        <span>Follow us on :</span>

        </div>
        </div>
        </div><!-- #footer -->

    </div><!-- #wrapper -->

<div class="slide-out-div">
        <a class="handle" href="http://link-for-non-js-users">Content</a>
        <h1>Your Contact Information</h1>
    <form method="post" action="thankyou.php" name="myForm"  onsubmit="return(validate());"> 
       <label>First Name </label>
       <input name="fname" class="text" type="text" />
       <label>Last Name </label>
        <input name="lname" class="text" type="text" />
        <label>Phone </label>
        <input name="phone" class="text" type="text" />
        <label>Email </label>
        <input name="email" class="text" type="text"/>
        <label>City </label>
        <input name="city" class="text" type="text"  />

        <input name="submit" class="submit" type="submit" value="" />
       </form>
    </div>
<?php 
error_reporting(E_ALL);
ob_start();
if(isset($_POST['submit'])) {

//include validation class

//assign post data to variables

$title= ""; // storing the phone number    

$fname = trim($_POST['fname']); // Storing username

$lname = trim($_POST['lname']); // Storing username

$phone= trim($_POST['phone']); // storing the phone number

$email = trim($_POST['email']); // Storing email address

$city= trim($_POST['city']); // storing the phone number





if(empty($fname) && empty($phone) && empty($email))

{

echo "All fields are compulsory";

}

$subject = "Contacted by ". $fname;
$subject1 = "Reply From Test2014! ";
$emailTo = 'test@test.com'; //Put your own email address here

        $body = "First Name: $fname \n\nLast Name: $lname \n\nPhone:\n $phone \n\nEmail: $email \n\nCity: $city" ;
        $headers = 'From: My Site <'.$emailTo.'>' . "\r\n" . 'Reply-To: ' . $email;
                $headers1 = 'From: Test 2014 <'.$email.'>' . "\r\n" . 'Reply-To: ' . $email;

                $body1 ="Dear Sir/Madam, \n\n\n;



        mail($emailTo, $subject, $body, $headers);
                mail($email, $subject1, $body1, $headers1);
        $emailSent = true;
                $conn = mysql_connect("localhost", "root", "****");
                if (!$conn) {
    echo "Unable to connect to DB: " . mysql_error();
    exit;
}

if (!mysql_select_db("aurevoir_db")) {
    echo "Unable to select mydbname: " . mysql_error();
    exit;
}
mysql_select_db("aurevoir_db", $conn);


$sql = "INSERT INTO `aurevoir_db`.`contact` (`title`, `fname`, `lname`, `phone`, `email`, `city`, `timestamp`) VALUES ('$title', '$fname', '$lname', '$phone', '$email', '$city', NOW())";

mysql_query($sql) or die('Error, insert query failed' . mysql_error());

$url = "thankyou.html";
header('Location: '.$url);
exit();
}

?>
        <?php 

        ?>
</body>
</html>

$(函数(){
$('.slide out div').tab滑出({
tabHandle:'.handle',//将作为选项卡的元素的类
pathToTabImage:“”,//选项卡的图像路径(可选使用css设置)
imageHeight:'273px',//选项卡图像的高度
imageWidth:'63px',//选项卡图像的宽度
tabLocation:‘right’,//选项卡所在屏幕的一侧,顶部、右侧、底部或左侧
速度:300,//动画速度
操作:'单击',//选项:'单击'或'悬停',触发动画的操作
topPos:'200px',//从顶部开始的位置
fixedPosition:false//options:true使其粘贴在滚动条上(固定位置)
});
});
******
请继续关注我们:
您的联系信息
名字
姓
电话
电子邮件
城市

若您将PHP代码移动到页面顶部,它将开始工作

<?php 
error_reporting(E_ALL);
ob_start();
if(isset($_POST['submit'])) {

//include validation class

//assign post data to variables

$title= ""; // storing the phone number    

$fname = trim($_POST['fname']); // Storing username

$lname = trim($_POST['lname']); // Storing username

$phone= trim($_POST['phone']); // storing the phone number

$email = trim($_POST['email']); // Storing email address

$city= trim($_POST['city']); // storing the phone number

if(empty($fname) && empty($phone) && empty($email))

{

echo "All fields are compulsory";

}

$subject = "Contacted by ". $fname;
$subject1 = "Reply From Test2014! ";
$emailTo = 'test@test.com'; //Put your own email address here

        $body = "First Name: $fname \n\nLast Name: $lname \n\nPhone:\n $phone \n\nEmail: $email \n\nCity: $city" ;
        $headers = 'From: My Site <'.$emailTo.'>' . "\r\n" . 'Reply-To: ' . $email;
                $headers1 = 'From: Test 2014 <'.$email.'>' . "\r\n" . 'Reply-To: ' . $email;

                $body1 ="Dear Sir/Madam, \n\n\n;



        mail($emailTo, $subject, $body, $headers);
                mail($email, $subject1, $body1, $headers1);
        $emailSent = true;
                $conn = mysql_connect("localhost", "root", "****");
                if (!$conn) {
    echo "Unable to connect to DB: " . mysql_error();
    exit;
}

if (!mysql_select_db("aurevoir_db")) {
    echo "Unable to select mydbname: " . mysql_error();
    exit;
}
mysql_select_db("aurevoir_db", $conn);


$sql = "INSERT INTO `aurevoir_db`.`contact` (`title`, `fname`, `lname`, `phone`, `email`, `city`, `timestamp`) VALUES ('$title', '$fname', '$lname', '$phone', '$email', '$city', NOW())";

mysql_query($sql) or die('Error, insert query failed' . mysql_error());

$url = "thankyou.html";
header('Location: '.$url);
exit();
}

?>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js" type="text/javascript"></script>
    <script src="js/jquery.tabSlideOut.v1.3.js"></script>
    <script>
         $(function(){
             $('.slide-out-div').tabSlideOut({
                 tabHandle: '.handle',                              //class of the element that will be your tab
                 pathToTabImage: '',          //path to the image for the tab (optionaly can be set using css)
                 imageHeight: '273px',                               //height of tab image
                 imageWidth: '63px',                               //width of tab image    
                 tabLocation: 'right',                               //side of screen where tab lives, top, right, bottom, or left
                 speed: 300,                                        //speed of animation
                 action: 'click',                                   //options: 'click' or 'hover', action to trigger animation
                 topPos: '200px',                                   //position from the top
                 fixedPosition: false                               //options: true makes it stick(fixed position) on scroll
             });
         });

         </script>
             <script src="js/form_value.js"></script>
             <script type="text/javascript">
<!--
function validateEmail()
{

   var emailID = document.myForm.email.value;
   atpos = emailID.indexOf("@");
   dotpos = emailID.lastIndexOf(".");
   if (atpos < 1 || ( dotpos - atpos < 2 )) 
   {
       alert("Please enter correct email ID")
       document.myForm.email.focus() ;
       return false;
   }
   return( true );
}

function validate()
{
   if( document.myForm.fname.value == "" )
   {
     alert( "Please provide your First name!" );
     document.myForm.fname.focus() ;
     return false;
   }

    if( document.myForm.lname.value == "" )
   {
     alert( "Please provide your Last name!" );
     document.myForm.lname.focus() ;
     return false;
   }
   if( document.myForm.phone.value == "" ||
           isNaN( document.myForm.phone.value ) ||
           document.myForm.phone.value.length < 8 )
   {
     alert( "Please provide a valid phone number" );
     document.myForm.phone.focus() ;
     return false;
   }
   if( document.myForm.email.value == "" )
   {
     alert( "Please provide a valid Email address" );
     document.myForm.email.focus() ;
     return false;
   }else{
     // Put extra check for data format
     var ret = validateEmail();
     if( ret == false )
     {
          return false;
     }
   }

   if( document.myForm.city.value == "" )
   {
     alert( "Please provide your City" );
     document.myForm.city.focus() ;
     return false;
   }
   return( true );
}
//-->
</script>


<body>

<div id="wrapper">
    <div id="footer">
        <div id="footer_inside">
        <span class="number">******</span>
        <div id="follow">
        <span>Follow us on :</span>

        </div>
        </div>
        </div><!-- #footer -->

    </div><!-- #wrapper -->

<div class="slide-out-div">
        <a class="handle" href="http://link-for-non-js-users">Content</a>
        <h1>Your Contact Information</h1>
    <form method="post" action="thankyou.php" name="myForm"  onsubmit="return(validate());"> 
       <label>First Name </label>
       <input name="fname" class="text" type="text" />
       <label>Last Name </label>
        <input name="lname" class="text" type="text" />
        <label>Phone </label>
        <input name="phone" class="text" type="text" />
        <label>Email </label>
        <input name="email" class="text" type="text"/>
        <label>City </label>
        <input name="city" class="text" type="text"  />

        <input name="submit" class="submit" type="submit" value="" />
       </form>
    </div>        
</body>
</html>
必须在任何输出之前调用header()函数。但是你可以用ob_u函数来欺骗。请稍微更改您的脚本:

<?php
ob_start(); // start buffering, nothing will be output
?>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js" type="text/javascript"></script>
    <script src="js/jquery.tabSlideOut.v1.3.js"></script>
    <script>
...
<?php 
error_reporting(E_ALL);
// ob_start(); // comment out or delete this line
...
$url = "thankyou.html";
header('Location: '.$url);
// exit(); // comment out or delete this line
}

?>
</body>
</html>
<?php 
ob_end_flush(); // start to output, headers must be placed correctly now
?>

...

在调用header()函数之前,您正在典当大量的标记。。。。。在这种情况下它不起作用。如果使用header(),则必须在将任何其他输出发送到浏览器之前,否则将发送默认的头。在发送任何实际输出之前,必须调用alreadyheader(),无论是通过普通HTML标记、文件中的空行还是从PHP发送。使用include或require函数或其他文件访问函数读取代码,并在调用header()之前输出空格或空行,这是非常常见的错误。使用单个PHP/HTML文件时也存在同样的问题。@Touregsys无法准确地找到您…因为我是一个新手…在上述情况下,我应该将标题放在哪里()