2015-06-26 196 views
0

在我的网站的表单联系人上,当我按下提交按钮时,该网站将打开一个空白页面(php文件),以便删除我加提交表单后重定向到index.html - 如何显示消息

header("Location: ../index.html"); 

我的PHP文件,它的工作原理,它mantains在同一个页面后,我提出我的数据,但它瞬间变为index.html的,甚至有代码,以显示成功或失败的消息该消息不显示。

不知道为什么,因为这种方法,我看到很多关于使用AJAX的话题,但是我觉得对我来说很困惑,是我的网站必须使用的吗? 有人可以帮我把它工作到我的网站?

免费主机上的网站:

tential.co.nf

HTML:

<!DOCTYPE html> 
<html> 
    <head> 
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> 
    <script src="js/fixedbar.js"></script> 
    <script src="js/slider.js"></script> 
    <meta charset="utf-8"> 
    <link href="http://fonts.googleapis.com/css?family=Open+Sans:400,300" rel="stylesheet" type="text/css"> 
    <link href="styles.css" rel="stylesheet" type="text/css"> 
    <title> Layout </title> 
    </head> 
    <body> 


    <div class="header" id="top"> 
     <img class="logo" src="img/logo.png"> 
     <div class="menu"> 
     <a href="#" class="current">Home</a> 
     <a href="#tour">Product Tour</a> 
     <a href="#">Pricing</a> 
     <a href="#">Try</a> 
     <a href="#vision">Vision</a> 
     </div> 
     <div class="move"> 
     <div class="center"> 
      <h1>Move work forward!</h1> 
      <p>Optential keeps your team organized, connected, and focused on results.</p> 
     </div> 
     </div> 
     <div class="mail1"> 
     <form action="form/form.php" method="post"> 
      <h1>Try Now!</h1> 
      <input name="email" class="email" type="text" placeholder="Enter your email address ..."> 
      <input type="submit" value="Get started for free"> 
     </form> 
     </div> 
    </div> 

    <div class="mail2"> 
     <form action="form/form.php" method="post"> 
     <h1>Try Now!</h1> 
     <input type="text" placeholder="Your Email here..."> 
     <input type="submit" id ="btn" value="Get started for free"> 
     <a class="top" href="#top">Top</a> 
     </form> 
    </div> 


    <div id="slider"> 
     <div class="images"> 
      <div class="controls"> 
      <img src="img/3.png" alt="Image-1" /> 
      <img src="img/2.png" alt="Image-2" /> 
      <img src="img/1.png" alt="Image-3" /> 
      <img src="img/4.png" alt="Image-4" /> 
     </div> 
     </div> 
    </div> 

    <div class="barra2"></div> 

    <div class="mobile"> 
     <div id="pc"> 

     </div> 

     <div id="pctexto"> 

     </div> 
    </div> 

    <div class="contact"> 
     <div class="textocon"> 
     <div> 
      <h1>Optential</h1> 
      <p>A new management system<br>for a new management paradigm!</p> 
     </div> 
     </div> 
     <form method="POST" action="form/contactengine.php"> 
     <div class="col1"> 
      <h1>Contact us!</h1> 
      <input type="text" name="Name" size="50" placeholder="Name"/> 
      <input type="text" name="Email" size="50" placeholder="Email"/> 
      <input type="text" name="Subject" size="50" placeholder="Subject"/> 
     </div> 
     <div class="col2"> 
      <textarea name="Message" rows="5" cols="70" placeholder="Message..."></textarea> 
      <input type="submit" id="btn"value="Send email"/> 
     </div> 
     </form> 
     <div class="info"> 
     <div> 
      <h1>Mail Us !</h1> 
      <p>Rua Andrade Corvo, 242</p> 
      <p>sala 206</p> 
      <p>4700-204 Braga</p> 
      <p>Portugal</p> 
     </div> 
     <div> 
      <h1>Call Us !</h1> 
      <a href="#"><p>+351 987654323</p></a> 
      <a href="#"><p>+351 987654323</p></a> 
      <a href="#"><p>+351 987654323</p></a> 
     </div> 
     <div> 
      <h1>Email Us! </h1> 
      <a href="#"><p>[email protected]</p></a> 
      <a href="#"><p>[email protected]</p></a> 
      <a href="#"><p>[email protected]</p></a> 
     </div> 
     <div> 
      <h1>Join Us! </h1> 
      <a href="#"><img src="img/facebook.png"></a> 
      <a href="#"><img src="img/gplus.png"></a> 
      <a href="#"><img src="img/twitter.png"></a> 
      <a href="#"><img src="img/instag.png"></a> 
     </div> 
     </div> 
    </div> 
<script src="js/slider.js"></script> 
    </body> 
</html> 

PHP:

<?php 

$EmailFrom = "[email protected]"; 
$EmailTo = "[email protected]"; 
$Name = Trim(stripslashes($_POST['Name'])); 
$Email = Trim(stripslashes($_POST['Email'])); 
$Subject = Trim(stripslashes($_POST['Subject'])); 
$Message = Trim(stripslashes($_POST['Message'])); 

// validation 
$validationOK=true; 
if (!$validationOK) { 
    print "<meta http-equiv=\"refresh\" content=\"0;URL=error.htm\">"; 
    exit; 
} 

// prepare email body text 
$Body = ""; 
$Body .= "Name: "; 
$Body .= $Name; 
$Body .= "\n"; 
$Body .= "Email: "; 
$Body .= $Email; 
$Body .= "\n"; 
$Body .= "Subject: "; 
$Body .= $Subject; 
$Body .= "\n"; 
$Body .= "Message: "; 
$Body .= $Message; 
$Body .= "\n"; 

// send email 
$success = mail($EmailTo, $Subject, $Body, "From: <$EmailFrom>"); 

// redirect to success page 
if ($success){ 
    echo "<script type='text/javascript'>alert('Submitted successfully! Thanks for contacting Us')</script>"; 
} 
else{ 
    print "<meta http-equiv=\"refresh\" content=\"0;URL=error.htm\">"; 
} 
    header("Location: ../index.html"); 
?> 
+0

你必须使用AJAX这个....否则您将无法使用警告框...你可以使用会话打印错误/成功后的值... – Dalvik

+0

你可以将您的重定向页面更改为PHP,然后发送URL参数以及重定向,然后根据URL参数显示消息。 – Lee

回答

1

你可以使用一个元刷新标记。

有你的php显示柔韧你的成功消息的页,并且还包括这样的:

<meta http-equiv="refresh" content="5; url=http://example.com/"> 

“5”在内容=为秒。将此设置为您想要显示成功消息的时间。另外,将url =设置为您想要转到下一页的页面。

在您的具体情况,请尝试修改你这样的代码:

if ($success){ 
    echo "<script type='text/javascript'>alert('Submitted successfully! Thanks for contacting Us')</script>"; 
    echo '<meta http-equiv="refresh" content="0; url=http://example.com/">'; 
} 

警报框将不断刷新,从射击直至警告框关闭。

+0

我应该把这个放在哪里? – BugaDroid

+0

这将进入成功页面的HEAD部分。 – Lance

+0

目前还没有一个成功的页面,当我们点击“确定”时,我希望该提示不会出现在php空白页面。 – BugaDroid

0

代替将表单发送到其他php文件进行处理,您可以将代码保留在同一页面上,并以这种方式提交表单,如果它已成功提交它将保留在页面上,提醒成功,而不是发送表单处理一些PHP代码(存在于其他文件/页面中)并重定向回html表单。希望它清楚。下面是代码 -

<?php 
if ($_SERVER["REQUEST_METHOD"] == "POST") { 
    $EmailFrom = "[email protected]"; 
    $EmailTo = "[email protected]"; 
    $Name = Trim(stripslashes($_POST['Name'])); 
    $Email = Trim(stripslashes($_POST['Email'])); 
    $Subject = Trim(stripslashes($_POST['Subject'])); 
    $Message = Trim(stripslashes($_POST['Message'])); 

    // validation 
    $validationOK=true; 
    if (!$validationOK) { 
     print "<meta http-equiv=\"refresh\" content=\"0;URL=error.htm\">"; 
     exit; 
    } 

    // prepare email body text 
    $Body = ""; 
    $Body .= "Name: "; 
    $Body .= $Name; 
    $Body .= "\n"; 
    $Body .= "Email: "; 
    $Body .= $Email; 
    $Body .= "\n"; 
    $Body .= "Subject: "; 
    $Body .= $Subject; 
    $Body .= "\n"; 
    $Body .= "Message: "; 
    $Body .= $Message; 
    $Body .= "\n"; 

    // send email 
    $success = mail($EmailTo, $Subject, $Body, "From: <$EmailFrom>"); 

    // redirect to success page 
    if ($success){ 
     echo "<script type='text/javascript'>alert('Submitted successfully! Thanks for contacting Us')</script>"; 
    } 
    else{ 
     print "<meta http-equiv=\"refresh\" content=\"0;URL=error.htm\">"; 
    } 
} 
?><!DOCTYPE html> 
<html> 
    <head> 
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> 
    <script src="js/fixedbar.js"></script> 
    <script src="js/slider.js"></script> 
    <meta charset="utf-8"> 
    <link href="http://fonts.googleapis.com/css?family=Open+Sans:400,300" rel="stylesheet" type="text/css"> 
    <link href="styles.css" rel="stylesheet" type="text/css"> 
    <title> Layout </title> 
    </head> 
    <body> 


    <div class="header" id="top"> 
     <img class="logo" src="img/logo.png"> 
     <div class="menu"> 
     <a href="#" class="current">Home</a> 
     <a href="#tour">Product Tour</a> 
     <a href="#">Pricing</a> 
     <a href="#">Try</a> 
     <a href="#vision">Vision</a> 
     </div> 
     <div class="move"> 
     <div class="center"> 
      <h1>Move work forward!</h1> 
      <p>Optential keeps your team organized, connected, and focused on results.</p> 
     </div> 
     </div> 
     <div class="mail1"> 
     <form action="form/form.php" method="post"> 
      <h1>Try Now!</h1> 
      <input name="email" class="email" type="text" placeholder="Enter your email address ..."> 
      <input type="submit" value="Get started for free"> 
     </form> 
     </div> 
    </div> 

    <div class="mail2"> 
     <form action="form/form.php" method="post"> 
     <h1>Try Now!</h1> 
     <input type="text" placeholder="Your Email here..."> 
     <input type="submit" id ="btn" value="Get started for free"> 
     <a class="top" href="#top">Top</a> 
     </form> 
    </div> 


    <div id="slider"> 
     <div class="images"> 
      <div class="controls"> 
      <img src="img/3.png" alt="Image-1" /> 
      <img src="img/2.png" alt="Image-2" /> 
      <img src="img/1.png" alt="Image-3" /> 
      <img src="img/4.png" alt="Image-4" /> 
     </div> 
     </div> 
    </div> 

    <div class="barra2"></div> 

    <div class="mobile"> 
     <div id="pc"> 

     </div> 

     <div id="pctexto"> 

     </div> 
    </div> 

    <div class="contact"> 
     <div class="textocon"> 
     <div> 
      <h1>Optential</h1> 
      <p>A new management system<br>for a new management paradigm!</p> 
     </div> 
     </div> 
     <form method="POST" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>"> 
     <div class="col1"> 
      <h1>Contact us!</h1> 
      <input type="text" name="Name" size="50" placeholder="Name"/> 
      <input type="text" name="Email" size="50" placeholder="Email"/> 
      <input type="text" name="Subject" size="50" placeholder="Subject"/> 
     </div> 
     <div class="col2"> 
      <textarea name="Message" rows="5" cols="70" placeholder="Message..."></textarea> 
      <input type="submit" id="btn"value="Send email"/> 
     </div> 
     </form> 
     <div class="info"> 
     <div> 
      <h1>Mail Us !</h1> 
      <p>Rua Andrade Corvo, 242</p> 
      <p>sala 206</p> 
      <p>4700-204 Braga</p> 
      <p>Portugal</p> 
     </div> 
     <div> 
      <h1>Call Us !</h1> 
      <a href="#"><p>+351 987654323</p></a> 
      <a href="#"><p>+351 987654323</p></a> 
      <a href="#"><p>+351 987654323</p></a> 
     </div> 
     <div> 
      <h1>Email Us! </h1> 
      <a href="#"><p>[email protected]</p></a> 
      <a href="#"><p>[email protected]</p></a> 
      <a href="#"><p>[email protected]</p></a> 
     </div> 
     <div> 
      <h1>Join Us! </h1> 
      <a href="#"><img src="img/facebook.png"></a> 
      <a href="#"><img src="img/gplus.png"></a> 
      <a href="#"><img src="img/twitter.png"></a> 
      <a href="#"><img src="img/instag.png"></a> 
     </div> 
     </div> 
    </div> 
<script src="js/slider.js"></script> 
    </body> 
</html>