2015-06-26 2 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

You можно изменить страницу перенаправления на 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, когда мы нажимаем «ok». – BugaDroid

0

Вместо отправки формы в другой файл php для обработки вы можете сохранить код на одной странице и таким образом отправить форму, если она была успешно отправлена. Она останется на странице с предупреждением об успешности, а не с отправкой формы для обработка на некоторый php-код (существующий в другом файле/странице) и перенаправление обратно на страницу html. Надеюсь, что это ясно. Ниже приводится code-

<?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> 
Смежные вопросы