mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Di 16.04.2024 22:31 Benutzername: Passwort: Auto-Login

Thema: PHP Formular soll danke.html öffnen vom 17.06.2009


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> PHP Formular soll danke.html öffnen
Autor Nachricht
wildfire
Threadersteller

Dabei seit: 28.11.2005
Ort: Frankfurt
Alter: 41
Geschlecht: Weiblich
Verfasst Mi 17.06.2009 10:04
Titel

PHP Formular soll danke.html öffnen

Antworten mit Zitat Zum Seitenanfang

Hallo liebe Forenmitglieder!

Ich habe schon so ziemlich alle Lösungen angeschaut, aber wenn ich die bei meinem Formular übernehme, dann funktioniert es nicht. Ich möchte ein Kontaktformular abschicken und damit eine neue danke.html öffnen. Damit möchte ich später bei Google Analytics die Resonanz messen können, wie viele Leute das Formular tatsächlich abgeschickt haben. Mein bisheriger Code lädt innerhalb der Formular-Datei den Text "Vielen Dank..." und funktioniert wie es soll. Aber wie ändere ich es so ab, dass es eine neue Datei aufruft?

Für eure Hilfe wäre ich sehr dankbar!

Anbei der Code:

Code:

<html>
<head>
<title>Formular</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="formular.css" rel="stylesheet" type="text/css">
</head>
<body>

<?php
$absender = "info@kunden.de";
$kundenname = "www.kunden.de";
$mail_to = "mail@kunde.de";


$send = $_POST['send'];
$from_firma = $_POST['firma'];
$from_name = $_POST['name'];
$from_telefon = $_POST['telefon'];
$from_mail = $_POST['email'];
$select = $_POST['select'];
$mail_subject = $_POST['name'];
$from_text = $_POST['nachricht'];

$info = "Diese Nachricht wurde über das Kontaktformular der Homepage <b>" . $kundenname . "</b> versendet.";

$mail_text = "Firma: " .
$from_firma . "<br><b>Name: " .
$from_name . "</b><br><br><b>Kontaktdaten: </b><br>Telefon: " .
$from_telefon ."<br>E-Mail: " .
$from_mail . "<br><br><b>Kontaktwunsch bzgl.:</b> " .
$select . "<p><hr size=1 noshade></p><b>Nachricht des Absenders:</b><br><br>" .
$from_text . "<p><hr size=1 noshade></p>" .
$info;

if(trim($from_name)=="") $err_text.="Bitte geben Sie einen Namen an. ";
if(trim($from_telefon)=="") $err_text.="Bitte geben Sie eine Telefonnummer ein. ";
if(trim($from_mail)=="")
  $err_text.="Bitte geben Sie Ihre  E-Mail-Adresse an. ";
else
  if(!ereg("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,6})$",$from_mail))
    $err_text.="Bitte geben Sie eine gültige E-Mail-Adresse an. ";

if(trim($mail_text)=="") $err_text.="Bitte geben Sie einen Nachrichtentext ein. ";

if(($send=="2") && (isset($err_text))) {
  echo "<p style='font-family:Arial, Helvetica, sans-serif; font-size:11px; color:#FF0000'><big><b>Fehler:</b></big> ";
  echo "$err_text</p>";
}
if(($send!="2") || (isset($err_text)))
{
?>
<form action="formular.php" method="post">
<table border="0" cellpadding="0" cellspacing="0">
   
    <tr>
      <td rowspan="2" class="contentform"><p><strong>Firma</strong> <br>
          <input name="firma" type="text" id="firma">
      </p>
      <p><strong>Name</strong> <br>
        <input name="name" type="text" id="name2" value="<?php echo $from_name; ?>">
</p>
      <p><strong>Telefon</strong><br>
        <input name="telefon" type="text" id="telefon" value="<?php echo $from_telefon; ?>">
</p>
      <p><strong>E-Mail</strong><br>
          <input name="email" type="text" id="email" value="<?php echo $from_mail; ?>">
      </p>
      <p><strong>
        <input class="radio" type="radio" name="select" value="Beratung" checked="checked">
Beratung</strong></p>
      <p><strong>
        <input class="radio" type="radio" name="select" value="Information">
        Information</strong></p>
      <p><strong>
        <input class="radio" type="radio" name="select" value="Auftrag">
        Auftrag</strong></p>      </td>
      <td colspan="-2" valign="top" class="contentform"> <p>
        <strong>Nachricht</strong><br>
        <textarea name="nachricht" id="nachricht" value="<?php echo $from_text; ?>"></textarea>
        </p>      </td>
    </tr>
    <tr>
      <td class="buttons">
      <input type="hidden" value="2" name="send">
      <input name="Submit2" type="reset" class="button" value="Löschen">
      <input name="Submit" type="submit" class="button" value="Senden">
      </td>
    </tr>
  </table>
</form>
<?php
} else {

 $header="From: $absender\n";
 $header.="Reply-To: $from_mail\n";
 $header.= "Bcc: $email_to_bcc\n";
 $header.= "X-Mailer: PHP/" . phpversion(). "\n";
 $header.= "Content-Type: text/html";

 
  $mail_date=gmdate("D, d M Y H:i:s")." GMT";
  $send=0;
 
if(@mail($mail_to,$mail_subject,$mail_text,$header))
  {
    echo "<br><br><br><h1 align='left' style='font-family:Arial, Helvetica, sans-serif; font-size:14px'>Ihr Formular wurde gesendet</h1><p align='left' style='font-family:Arial, Helvetica, sans-serif; font-size:11px'>Vielen Dank für Ihre Anfrage, wir werden uns umgehend darum kümmern!</p>";

  }else{
    echo "<p style='font-family:Arial, Helvetica, sans-serif; font-size:11px'><b>Beim Versenden der E-Mail ist ein Fehler aufgetreten!</b></p>";
    echo "<p style='font-family:Arial, Helvetica, sans-serif; font-size:11px'><a href=\"formular.php?from_name=$from_name&from_mail=$from_mail&mail_subject=$mail_subject&mail_text=";
    echo urlencode($mail_text)."\">Zurück zum Formular</a></p>";

  }
}
?>
 <script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
try {
var pageTracker = _gat._getTracker("UA-4819038-3");
pageTracker._trackPageview();
} catch(err) {}</script>
</body>
</html>
  View user's profile Private Nachricht senden
Psilo

Dabei seit: 20.02.2007
Ort: -
Alter: 35
Geschlecht: Männlich
Verfasst Mi 17.06.2009 10:22
Titel

Antworten mit Zitat Zum Seitenanfang

anstelle dessen
Code:
echo "<p style='font-family:Arial, Helvetica, sans-serif; font-size:11px'><a href=\"formular.php?from_name=$from_name&from_mail=$from_mail&mail_subject=$mail_subject&mail_text=";
    echo urlencode($mail_text)."\">Zurück zum Formular</a></p>";

  }


leitest du einfach zur danke seite
z.b.
Code:
Code:
echo "<script type='text/javascript'>document.location='danke.html';</script>";


Zuletzt bearbeitet von Psilo am Mi 17.06.2009 10:22, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden
Anzeige
Anzeige
Smooth-Graphics

Dabei seit: 22.05.2006
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst Mi 17.06.2009 10:34
Titel

Re: PHP Formular soll danke.html öffnen

Antworten mit Zitat Zum Seitenanfang

Code:

<form action="formular.php" method="post">


Hier legst du fest, welche Seite nach dem Abschicken des Forms geladen werden soll.
Da die formular.php wahrscheinlich für den Versand der Mail wichtig ist musst du einfach in der formular.php am Schluss einfügen:

Code:

header("Location: http://www.url.de/danke.html");
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
wildfire
Threadersteller

Dabei seit: 28.11.2005
Ort: Frankfurt
Alter: 41
Geschlecht: Weiblich
Verfasst Mi 17.06.2009 10:41
Titel

Antworten mit Zitat Zum Seitenanfang

Danke, danke, danke, kann ich da nur sagen!!! Unfassbar, aber ich hatte echt schon fast alles ausprobiert, aber deine Lösung hatte ich noch nicht gesehen. ABER ES FUNKTIONIERT!! Endlich!

//edit 1:
wenn ich das Formular in einen iFrame einbinde, dann öffnet sich die Danke.html da drinne, gibt es auch die Möglichkeit, dass er sich als Popup oder im Eltern-fenster öffnet?

//edit 2:
Ich habe es grade durch Zufall selbst raus gefunden:

Code:
echo "<script type='text/javascript'>parent.document.location='danke.html';</script>";


[edit]
Bitte edit verwenden.


Zuletzt bearbeitet von Smooth-Graphics am Mi 17.06.2009 11:32, insgesamt 2-mal bearbeitet
  View user's profile Private Nachricht senden
michaelb12

Dabei seit: 16.02.2010
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst Di 16.02.2010 21:55
Titel

Antworten mit Zitat Zum Seitenanfang

Hallo,

hier habe ich das erstemal den Ansatz gefunden, nachdem ich gesucht habe.

Ich bastele an einem Anmeldeformular, bei dem wenn alles ausgefüllt wurde eine Bestätigungsseite vorgeblendet werden soll, wenn nicht alles ausgefüllt wurde, soll das Anmeldeformular mit den bereits ausgefüllten Feldern angezeigt werden.

Den Fehlerfall habe ich recht schnell hinbekommen, das Problem war der pos. Fall das alles geklappt hat.
Für den Fehlerfall musste im Formtag der Hinweis aufs aufrufende Formular "$_SERVER['PHP_SELF']" stehen, daher funktionierten sämtliche Versuche mit dem Header nicht.

Ich habe jetzt euren Vorschlag aufgegriffen, und mit Javascript und document.location gearbeitet. Es wird jedoch nur der Header des Originalformulars angezeigt, jedoch nicht die Bestätigungsseite.

Wo mache ich denn den Fehler.

Gruß

Michael
  View user's profile Private Nachricht senden
wildfire
Threadersteller

Dabei seit: 28.11.2005
Ort: Frankfurt
Alter: 41
Geschlecht: Weiblich
Verfasst Mi 17.02.2010 09:40
Titel

Antworten mit Zitat Zum Seitenanfang

setz doch mal deinen Code hier rein, dann kann ich's besser nachvollziehen!
  View user's profile Private Nachricht senden
michaelb12

Dabei seit: 16.02.2010
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst Mi 17.02.2010 12:00
Titel

Antworten mit Zitat Zum Seitenanfang

Hallo Wildfire,

hier mal der Code

Code:

<html>



<title>

Anmeldung zum Volkslauf

</title>

<head>

<h1><b>Anmeldung zum Volkslauf</b></h1>

</head>



<body >
   
<form action = "<?php echo $_SERVER['PHP_SELF']?>" method = "get">

<?php




  $db_server ="127.0.0.1";

  $db_user ="kdflkf";

  $db_passwort ="dldldl";

  $db_name ="name";



  //mit der DB verbinden

  $verbindung=mysql_connect($db_server,$db_user,$db_passwort);

  if(!$verbindung)

    die("Der Server kann nicht erreicht werden.");

  mysql_select_db($db_name,$verbindung);

  if(!mysql_select_db($db_name,$verbindung))

    die("Die Datenbank kann nicht erreicht werden.");

        $db_verbindung;

 if(isset($_GET['anmelden']))
     {
     //check() setzt die Variable $valid, wenn $valid ==true werden die Daten in die DB eingetragen, wenn nicht, wird die Seite mit den in der URL stehenden Werten neu aufgerufen.
     global $valid;
     check();
     
     if($valid =='true')
        {
        vereinsname();
        eintragen();
          }
          else
          return false;
          //header('Location:erfolg.php');
          echo "<script type='text/javascript'>document.location='erfolg.php'>;/script>";
     } 
 

 echo'<table>';
    //Abfrage ob bereits eine der Variablen bekannt ist, ansonsten wird in Zeile  150  weitergearbeitet
    if(isset($_GET['name'])or isset($_GET['vorname']) or isset($_GET['gebjahr'])or isset($_GET['geschlecht']) or isset($_GET['verein']) or isset($_GET['strecke']))
    {
    echo '<tr>';
       echo '<td>';
          echo'Name';
       echo'</td>';
       echo'<td>';
           echo' <input type="text" name = "name" size ="30" value ="'.$_GET['name'].'">';
        echo '</td>';
    echo'</tr>';
    echo'<tr>';
      echo'<td>';
           echo'<p> ';
        echo'</td>';
    echo'</tr>';
    echo'<tr>';
       echo'<td>';
          echo'Vorname';
       echo'</td>';
       echo'<td>';
          echo '<input type = "text" name = "vorname" size ="30" value ="'.$_GET['vorname'].'">';
       echo '</td>';
    echo'</tr>';

    echo'<tr>';
       echo'<td>';
          echo'Geschlecht';
       echo'</td>';
       echo'<td>';
          //hier wird der gesetzte Wert für das Geschlecht der von der URL zurückgeliefert wird zurückgegeben
          if($_GET['geschlecht'] == "m")
          {
          echo'<input type ="radio" name ="geschlecht" value ="m" checked>m&auml;nnlich';
          echo'<br>';
          echo'<input type ="radio" name ="geschlecht" value ="w">weiblich';
         }
         else
         {
         echo'<input type ="radio" name ="geschlecht" value ="m">m&auml;nnlich';
          echo'<br>';
          echo'<input type ="radio" name ="geschlecht" value ="w" checked>weiblich';
         }
               
       echo'</td>';
    echo'</tr>';
    echo'<tr>';
       echo'<td>';
          echo'Geburtsjahr';
       echo'</td>';
       echo'<td>';
          echo'<input type ="text" name ="gebjahr" size ="5" value = "'.$_GET['gebjahr'].'">';
       echo'</td>';
    echo'</tr>';
     echo'<tr>';
      echo'<td>';
           echo'<p> ';
        echo'</td>';
    echo'</tr>';
    echo '<tr>';
       echo'<td>';
          echo'Verein';
       echo'</td>';
       echo'<td>';
          //hier wird der Wert für den Verein zurückgeliefert und zurückgegeben
          if($_GET['verein_j_n']=="j")
          {
          echo'<input type ="radio" name ="verein_j_n" value ="j" checked>ja';
          echo'<br>';
          echo'<input type ="radio" name ="verein_j_n" value ="n">nein';
          }
          else
          {
          echo'<input type ="radio" name ="verein_j_n" value ="j" >ja';
          echo'<br>';
          echo'<input type ="radio" name ="verein_j_n" value ="n"checked>nein';
          }
       echo'</td>';
    echo'</tr>';
    echo'<tr>';
       echo'<td>';
          echo'Vereinsname/Ort';
       echo'</td>';
       echo'<td>';   
          echo'<input type ="text" name ="verein" size ="30" value ="'.$_GET['verein'].'">';
       echo'</td>';
    echo'<tr>';
    echo'<tr>';
       echo'<td>';
          echo 'Streckenauswahl<br><br><br>';
       echo '</td>';
       echo '<td >';
          //hier wird der Wert der Strecken auswahl zurückgeliefert und zurückgegeben
          if($_GET['strecke']=="1500")
          {       
          echo '<input type ="radio" name ="strecke" value ="1500" checked>1500 m Sch&uuml;lerlauf';
          echo'<br>';
          echo '<input type ="radio" name ="strecke" value= "5">5 km Jedermannlauf';
          echo'<br>';
          echo '<input type ="radio" name ="strecke" value= "10">10km Hauptauf';
          }
          elseif($_GET['strecke']=="5")
          {
          echo '<input type ="radio" name ="strecke" value ="1500">1500 m Sch&uuml;lerlauf';
          echo'<br>';
          echo '<input type ="radio" name ="strecke" value= "5" checked>5 km Jedermannlauf';
          echo'<br>';
          echo '<input type ="radio" name ="strecke" value= "10">10km Hauptauf';
          }
          else
          {
          echo '<input type ="radio" name ="strecke" value ="1500">1500 m Sch&uuml;lerlauf';
          echo'<br>';
          echo '<input type ="radio" name ="strecke" value= "5">5 km Jedermannlauf';
          echo'<br>';
          echo '<input type ="radio" name ="strecke" value= "10" checked>10km Hauptauf';
          }
       echo'</td>';
    echo '</tr>';
    }
       else
    {
    //ab hier wird weitergearbeitet, wenn keine Variablen übergeben werden
    echo '<tr>';
       echo '<td>';
          echo'Name';
       echo'</td>';
       echo'<td>';
          echo' <input type="text" name = "name" size ="30">';
       echo '</td>';
    echo'</tr>';
    echo'<tr>';
      echo'<td>';
           echo'<p> ';
        echo'</td>';
    echo'</tr>';
    echo'<tr>';
       echo'<td>';
          echo'Vorname';
       echo'</td>';
       echo'<td>';
          echo '<input type = "text" name = "vorname" size ="30">';
       echo '</td>';
    echo'</tr>';

    echo'<tr>';
       echo'<td>';
          echo'Geschlecht';
       echo'</td>';
       echo'<td>';
          echo'<input type ="radio" name ="geschlecht" value ="m">m&auml;nnlich';
          echo'<br>';
          echo'<input type ="radio" name ="geschlecht" value ="w">weiblich';
       echo'</td>';
    echo'</tr>';
    echo'<tr>';
       echo'<td>';
          echo'Geburtsjahr';
       echo'</td>';
       echo'<td>';
          echo'<input type ="text" name ="gebjahr" size ="5">';
       echo'</td>';
    echo'</tr>';
     echo'<tr>';
      echo'<td>';
           echo'<p> ';
        echo'</td>';
    echo'</tr>';
    echo '<tr>';
       echo'<td>';
          echo'Verein';
       echo'</td>';
       echo'<td>';
          echo'<input type ="radio" name ="verein_j_n" value ="j">ja';
          echo'<br>';
          echo'<input type ="radio" name ="verein_j_n" value ="n">nein';
       echo'</td>';
    echo'</tr>';
    echo'<tr>';
       echo'<td>';
          echo'Vereinsname/Ort';
       echo'</td>';
       echo'<td>';   
          echo'<input type ="text" name ="verein" size ="30">';
       echo'</td>';
    echo'<tr>';
    echo'<tr>';
       echo'<td>';
          echo 'Streckenauswahl<br><br><br>';
       echo '</td>';
       echo '<td >';
          echo '<input type ="radio" name ="strecke" value ="1500">1500 m Sch&uuml;lerlauf';
          echo'<br>';
          echo '<input type ="radio" name ="strecke" value= "5">5 km Jedermannlauf';
          echo'<br>';
          echo '<input type ="radio" name ="strecke" value= "10">10km Hauptauf';
       echo'</td>';
    echo '</tr>';
    }
 echo'</table>';
 echo'<input type="submit" value="Anmelden" name="anmelden">';   
 

  function check()         //überprüft, ob alle Daten eingegeben wurden und setzt die Variable $valid, die in der IF-Schleife in Zeile 268 überprüft wird

  {
     global $valid;

     if(empty($_GET['name']) or empty($_GET['vorname'])or empty($_GET['vorname'])or empty($_GET['verein'])or empty($_GET['geschlecht'])or empty($_GET['strecke'])or empty($_GET['gebjahr'])or !isset($_GET['strecke']) or !isset($_GET['geschlecht']) or !isset($_GET['verein_j_n']))

          {
             echo'<br>';

             echo "Sie haben nicht alle Daten eingegeben!";

             $valid="false";

          }
          else
             $valid='true';

  }
 
 
  function vereinsname()      //Macht aus dem Ortsnamen ggf. ein "(oV)Ortsname" wenn kein Verein ausgwählt wurde
  {
     global $verein_name;
     
     if($_GET['verein_j_n'] =='j')
        {
        $verein_name=$_GET['verein'];
        }
        else
        {
        $verein_name="(oV) ".$_GET['verein'];
        }        
  }
 
 
 function eintragen()         //trägt die Daten in die DB ein
  {
     global $verein_name;
     $query=sprintf("insert into anmeldung set name='%s', vorname='%s', gebjahr='%s', verein='%s',geschlecht='%s',strecke='%s'",

       $_GET['name'],$_GET['vorname'],$_GET['gebjahr'],$verein_name ,$_GET['geschlecht'],$_GET['strecke']);

       $ergebnis=mysql_query($query);   
  }
 
  ?>
  </form>   

</body>



</html>


Vieles kann man bestimmt einfacher machen, aber ich bin noch Anfänger.

Gruß

Michael
  View user's profile Private Nachricht senden
michaelb12

Dabei seit: 16.02.2010
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst Do 18.02.2010 13:00
Titel

Antworten mit Zitat Zum Seitenanfang

Hallo zusammen,

habe meinen Fehler schon selbst gefunden.

Es musste richtig heissen

Code:
echo "<script type='text/javascript'>document.location='erfolg.php'</script>";


Jetzt klappt es

Gruß

Michael
  View user's profile Private Nachricht senden
 
Ähnliche Themen Flash Layer - soll URL mit HTML Formular öffnen?
Kunde kann PDF Formular nicht öffnen
Formular - mit Action browser Fenster öffnen
formular in html
html formular
html-Formular -> xml
Neues Thema eröffnen   Neue Antwort erstellen
MGi Foren-Übersicht -> Programmierung


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.