2017-05-15 2 views
-3

So habe ich ein Kontaktformular auf meiner Website. Jedoch, wenn ich es einreiche, leitet mich von meiner HTML-Seite auf die PHP-Seite um, ID möchte automatisch zurückleiten. Ich habe versucht, HTACCESS zu verwenden, aber es leitet sofort um und das PHP-Skript läuft nicht.Umleiten von PHP-Datei zu HTML-Datei?

HTML FORM

<form action="action.php" method="post" class="contactForm" target="_top"> 
    <input type="name" name="field1" placeholder="Enter your name..."><br> 
    <input type="email" name="field2" placeholder="Enter your email address..."><br> 
<input type="text" name="field3" placeholder="Enter your message..."><br> 
<input type="submit" value="Submit" id="button"> 
</form> 

action.php

<?php 

$path = 'data.txt'; 
if (isset($_POST['field1']) && isset($_POST['field2'])&& isset($_POST['field3'])) { 
    $fh = fopen($path,"a+"); 
    $string = $_POST['field1'].' - '.$_POST['field2'].' - '.$_POST['field3']; 
    fwrite($fh,$string); 
    fclose($fh); 
}?> 

Wenn ich darüber werde der falsche Weg, lass es mich wissen, ich bin ein absoluter Anfänger zu PHP so i weiß sehr wenig.

Danke.

Antwort

0

header('Location: index.html');

http://php.net/manual/en/function.header.php

Sie können, bevor die Umleitung nicht ausgegeben nichts.

Eine potenziell bessere Möglichkeit, dies zu tun, besteht nicht darin, in das PHP-Skript zu posten, sondern es nur in html umzuleiten, aber über ajax zu posten.

+0

Das hat nicht funktioniert, wo soll ich es in das action.php Skript einfügen. – user7432478

+0

Wenn Sie sich Ihr PHP-Fehlerprotokoll anschauen, wird es sich höchstwahrscheinlich beschweren, dass die Ausgabe bereits an den Browser gesendet wurde. Sie müssen alle Ihre Logik tun, und dann diese Umleitung, ohne etwas (echo, var_dump, etc) an den Browser zu senden. – mkaatman

0

Es gibt ein paar Möglichkeiten, dies zu tun. Ich nehme an, Sie möchten die Werte aus dem Formular übernehmen und in PHP verarbeiten.

  1. Verwenden von Ajax - Mit Ajax können Sie Daten von Ihrem Formular an ein PHP-Skript senden, ohne die Seite neu zu laden. Also in Ihrem Fall keine Umleitung erforderlich ist hier für ein kleines Tutorial http://blog.teamtreehouse.com/create-ajax-contact-form
  2. Kombinieren Sie PHP und HTML - Sie können alle Ihre HTML-Code in die PHP-Datei eingeben und rufen Sie die PHP-Datei. Siehe ->https://www.ntchosting.com/encyclopedia/scripting-and-programming/php/php-in/
0
   ob_end_clean(); 
       header("Location: example.com"); 
       exit(); 

Sie ermöglicht die Ausgabe etwas vor umleitet.

+0

Das hat nicht funktioniert, wo soll ich es in das action.php Skript einfügen. – user7432478

+0

Dieser Code sollte am Ende von PHP hinzugefügt werden, aber immer noch in der if (isset) -Anweisung – Carter

+0

Es hat mich immer noch umgeleitet. Sie können es selbst ausprobieren unter http://www.maxjordan.net/contact.html – user7432478