Fahrtenbuch genial!
-


Hinweise


Antwort
 
LinkBack Themen-Optionen Thema durchsuchen Thema bewerten
Alt 29.04.2008, 20:10   #1
TP-Junior
 
Registriert seit: Jan 2008
[LaBeerdy] macht alles soweit korrekt

PHP Formmailer auf zwei Seiten aufteilen


Hallo,

Ich bin auf der Suche nach einer Möglichkeit einen PHP Formmailer so aufzuteilen, dass auf der ersten Seite lediglich einige type="radio" Auswahlmöglichkeiten vorhanden sind...

...Dann soll es einen Weiter-Button geben der zur Eingabe der Kontaktdaten führt, also auf die zweite Seite. Auf dieser Seite soll dann erst der Datensatz abgeschickt werden.

Im Prinzip suche ich also ein Kontaktformular das sich auf zwei Seiten aufteilt bzw. den Datensatz der ersten mit auf die zweite Seite nimmt.
Ich hoffe ihr wisst was ich meine. Wäre nett wenn ihr eine Idee hättet.
[LaBeerdy] ist offline   Mit Zitat antworten


Alt 29.04.2008, 20:30   #2
TP-Urgestein
 
Benutzerbild von webcreate
 
Registriert seit: Nov 2003
Ort: NRW
webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts
Schau Dir dazu doch mal $_SESSION an ...
__________________
Gruß Mark
Mein Blog zum TP || XING Profil || grafiker.de Profil || How to use GOOGLE || PS Kniffe
emCalculator 1.0



webcreate IT SOLUTIONS
www.webcreate-nrw.de
webcreate ist offline   Mit Zitat antworten
Alt 29.04.2008, 20:53   #3
TP-Junior
 
Registriert seit: Jan 2008
[LaBeerdy] macht alles soweit korrekt
Ich glaube das ist das was ich suche.
Da ich jedoch blutiger PHP Anfänger bin uns bisher nur mit HTML, CSS und Co gearbeitet habe kommt zu diesem Zeitpunkt ein fertiges Skript in Frage.
Wie also müsste ich diese SESSION Funktion einbauen.
Vielleicht gibt es ja auch ein nettes Tutorial dazu?!

Ansonsten wäre halt die Frage wie ich das Ganze in ein einfaches Skript einbaue:

PHP-Code:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>FormMailer -- www.gaijin.at</title>

<meta name="title" content="FormMailer -- www.gaijin.at">
<meta name="description" content="FormMailer von www.gaijin.at">
<meta name="keywords" content="Mailer, FormMailer">
<meta name="author" content="Gaijin">
<meta http-equiv="content-language" content="de-at">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

</head>
<body>

<h1>FormMailer</h1><br>

<?php
// *** Kontaktadresse für Missbrauchsmeldungen ***
$Abuse_Mail="your@mail.com";
// ***********************************************

if(trim($from_name)==""$err_text.="Bitte gib Deinen Namen an.<br>";
if(
trim($from_mail)=="")
  
$err_text.="Bitte gib Deine E-Mail-Adresse an.<br>";
else
  if(!
ereg("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,6})$",$from_mail))
    
$err_text.="Bitte gib eine gültige E-Mail-Adresse an.<br>";
if(
trim($to_name)==""$err_text.="Bitte gib den Namen des Empfängers an.<br>";
if(
trim($to_mail)=="")
  
$err_text.="Bitte gib die E-Mail-Adresse des Empfängers an.<br>";
else
  if(!
ereg("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,6})$",$to_mail))
    
$err_text.="Bitte gib eine gültige E-Mail-Adresse an.<br>";
if(
trim($mail_subject)==""$err_text.="Bitte gib einen Betreff an.<br>";

// *** Zu langen Text abschneiden ***
if(strlen($mail_text)>1000) {
  
$mail_text=substr($mail_text,0,1000)."... (Text wurde gekürzt!)";
}
$from_name=str_replace(chr(34),"''",$from_name);
$to_name=str_replace(chr(34),"''",$to_name);
$from_name=stripslashes($from_name);
$from_mail=stripslashes($from_mail);
$to_name=stripslashes($to_name);
$to_mail=stripslashes($to_mail);
$mail_subject=stripslashes($mail_subject);
$mail_text=stripslashes($mail_text);

if((
$send=="1") && (isset($err_text))) {
  echo 
"<p><big><b>Fehler:</b></big><br>";
  echo 
"<span id=warn>$err_text</span></p>";
}
    
if((
$send!="1") || (isset($err_text)))
{
?>

<form action="<?php echo $PHP_SELF?>" method="post">
<table border=0 cellspacing=2 cellpadding=0 width=100%>
<tr><td nowrap align=right id="formtext">Ihr Name:</td><td>&nbsp;</td>
<td width=100%><input type="text" name="from_name" size=60 maxlength=120 value="<?php echo $from_name ?>"></td></tr>
<tr><td nowrap align=right id="formtext">Ihre E-Mail-Adresse:</td><td></td>
<td width=100%><input type="text" name="from_mail" size=60 maxlength=120 value="<?php echo $from_mail ?>"></td></tr>
<tr><td nowrap align=right id="formtext">Empfänger (Name):</td><td>&nbsp;</td>
<td width=100%><input type="text" name="to_name" size=60 maxlength=120 value="<?php echo $to_name ?>"></td></tr>
<tr><td nowrap align=right id="formtext">Empfänger (E-Mail):</td><td></td>
<td width=100%><input type="text" name="to_mail" size=60 maxlength=120 value="<?php echo $to_mail ?>"></td></tr>
<tr><td nowrap align=right id="formtext">Betreff:</td><td></td>
<td width=100%><input type="text" name="mail_subject" size=60 maxlength=120 value="<?php echo $mail_subject ?>"></td></tr>
<tr><td nowrap align=right valign=top id="formtext">Text:<br><i>(max. 1.000 Zeichen)</i></td><td></td>
<td width=100%><textarea cols=45 rows=10 name="mail_text"><?php echo $mail_text ?></textarea></td></tr>

<tr><td></td><td></td><td>
<input type="hidden" value="1" name="send">
<input type="submit" value="Nachricht versenden" name="submit">
</td></tr>
</table>
</form>

<?php
} else {
  
$header="From: $from_name <$from_mail>\n";
  
$header.="Reply-To: $from_mail\n";
  
$header.="X-Abuse-Mail: <".$Abuse_Mail.">\n";
  
$header.="X-Mailer: PHP-FormMailer (www.gaijin.at)\n";
  
$header.="Content-Type: text/plain";
  
$mail_date=gmdate("D, d M Y H:i:s")." GMT";
  
$send=0;
  if(@
mail("$to_name <$to_mail>",$mail_subject,$mail_text,$header))
  {
    echo 
"<p><b>Deine E-Mail wurde abgesendet.</b></p>";
    echo 
"<p><a href=\"".$PHP_SELF."?from_name=$from_name&from_mail=$from_mail\">Zurück zum Formular</a></p>";
  }
  else
  {
    echo 
"<p id=warn><b>Beim Versenden der E-Mail ist ein Fehler aufgetreten!</b></p>";
    echo 
"<p><a href=\"".$PHP_SELF."?from_name=$from_name&from_mail=$from_mail&to_name=$to_name&to_mail=$to_mail&mail_subject=$mail_subject&mail_text=".urlencode($mail_text)."\">Zurück zum Formular</a></p>";
  }
}

?>

<p><a href="http://www.gaijin.at/">Copyright &copy; 2003 www.gaijin.at</a></p>

</body>
</html>

Geändert von Rizzo (29.04.2008 um 21:27 Uhr). Grund: Code in Code-Box gesetzt
[LaBeerdy] ist offline   Mit Zitat antworten
Alt 30.04.2008, 14:59   #4
TP-Junior
 
Registriert seit: Jan 2008
[LaBeerdy] macht alles soweit korrekt
Vielleicht kennt jemand auch ein fertiges multiPage Skript das nur noch angepasst werden muss?!
[LaBeerdy] ist offline   Mit Zitat antworten
Alt 01.05.2008, 11:58   #5
TP-Special Mod
 
Benutzerbild von steffenk
 
Registriert seit: Feb 2005
Ort: Haan / NRW
steffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine User
Ich mach sowas immer selber, Prinzip:

Ein Array mit den POST-Varnamen der einzelnen Steps (Seiten)
Ein hidden-Feld mit dem Step
Eine Schleife die die POST-Vars aus den anderen Steps in hidden-Felder schreibt
__________________

Typo3 · MySQLDumper · dislabs
·
manche Mühlen mahlen schneller ...
"Ich habe Rücken"
Horst Schlämmer
steffenk ist offline   Mit Zitat antworten
Alt 01.05.2008, 12:58   #6
TP-Greis
 
Benutzerbild von Boris
 
Registriert seit: Mar 2001
Ort: Berlin, Germany
Boris ist ein richtiges Arbeitstier - DANKEBoris ist ein richtiges Arbeitstier - DANKEBoris ist ein richtiges Arbeitstier - DANKEBoris ist ein richtiges Arbeitstier - DANKEBoris ist ein richtiges Arbeitstier - DANKEBoris ist ein richtiges Arbeitstier - DANKE
$_SESSION usw. sind bis jetzt doch noch völlig unnötig:

Zitat:
Im Prinzip suche ich also ein Kontaktformular das sich auf zwei Seiten aufteilt bzw. den Datensatz der ersten mit auf die zweite Seite nimmt.
Alle Daten der 1. Seite sind auf der 2. Seite doch via $_POST bereits vorhanden. Daher kann er diese direkt nutzen.

Nötig wären hidden-Felder oder Sessions, wenn er ein dritte Seite (oder mehr) nutzen und alle vorherigen Daten mitschleppen will.
__________________
My software never has bugs. It just develops random features ...

» DevShack - die Website des freien Webentwicklers Boris
Boris ist gerade online   Mit Zitat antworten
Alt 05.05.2008, 13:07   #7
DSB
TP-Veteran
 
Benutzerbild von DSB
 
Registriert seit: Mar 2005
Ort: Weyhe
DSB hilft, wo's gehtDSB hilft, wo's gehtDSB hilft, wo's gehtDSB hilft, wo's geht
Zitat:
Zitat von Boris Beitrag anzeigen
$_SESSION usw. sind bis jetzt doch noch völlig unnötig:

Alle Daten der 1. Seite sind auf der 2. Seite doch via $_POST bereits vorhanden. Daher kann er diese direkt nutzen.

Nötig wären hidden-Felder oder Sessions, wenn er ein dritte Seite (oder mehr) nutzen und alle vorherigen Daten mitschleppen will.
Nö, die Daten der ersten Seite müssen nach der Validierung der Eingaben der zweiten Seite ebenso wieder vorhanden sein. Das erreicht man über hidden-Felder oder eine Session. Oder validierst Du Eingaben nur per Javascript?
__________________
Gruß, DSB
Einfaches Backup/ Restore Deiner MySQl-Datenbank
DSB ist offline   Mit Zitat antworten
Alt 05.05.2008, 13:39   #8
TP-Greis
 
Benutzerbild von Boris
 
Registriert seit: Mar 2001
Ort: Berlin, Germany
Boris ist ein richtiges Arbeitstier - DANKEBoris ist ein richtiges Arbeitstier - DANKEBoris ist ein richtiges Arbeitstier - DANKEBoris ist ein richtiges Arbeitstier - DANKEBoris ist ein richtiges Arbeitstier - DANKEBoris ist ein richtiges Arbeitstier - DANKE
Zitat:
Nö, die Daten der ersten Seite müssen nach der Validierung der Eingaben der zweiten Seite ebenso wieder vorhanden sein.
Ja, und? Das sind sie doch, wenn er die Daten via POST übertragen hat?

Wenn er diese Daten auf der zweiten Seite nach einem erneuten Request nochmals braucht, dann muss er sie nochmals übertragen, das stimmt. Aber sonst nicht
__________________
My software never has bugs. It just develops random features ...

» DevShack - die Website des freien Webentwicklers Boris
Boris ist gerade online   Mit Zitat antworten
Alt 05.05.2008, 13:41   #9
TP-Urgestein
 
Benutzerbild von webcreate
 
Registriert seit: Nov 2003
Ort: NRW
webcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichtswebcreate ist einer der Eckpfeiler des TP - ohne ihn geht nichts
Eben und wenn ich dann noch eine Sichtung vor dem versenden mache und er dann auf Seite1 was ändern will ... also da ist mir die Session doch schon am liebsten ...
__________________
Gruß Mark
Mein Blog zum TP || XING Profil || grafiker.de Profil || How to use GOOGLE || PS Kniffe
emCalculator 1.0



webcreate IT SOLUTIONS
www.webcreate-nrw.de
webcreate ist offline   Mit Zitat antworten
Alt 05.05.2008, 14:23   #10
DSB
TP-Veteran
 
Benutzerbild von DSB
 
Registriert seit: Mar 2005
Ort: Weyhe
DSB hilft, wo's gehtDSB hilft, wo's gehtDSB hilft, wo's gehtDSB hilft, wo's geht
Zitat:
Zitat von Boris Beitrag anzeigen
Wenn er diese Daten auf der zweiten Seite nach einem erneuten Request nochmals braucht, dann muss er sie nochmals übertragen, das stimmt. Aber sonst nicht
Und genau davon gehe ich aus. Nachdem die Angaben auf der zweiten Seite gemacht wurden, müssen diese validiert werden. Somit wird ein Submit des Formulars ausgelöst. Wenn die Daten aus Seite 1 jetzt nicht in hidden-Fields vorhanden sind, gehen sie verloren.

Generell bevorzuge ich persönlich bei Angaben in dieser Menge eine direkte Speicherung in der Datenbank je Seite. So entfällt das "Mitschleppen" von Daten über mehrere Seiten und Fehlerquellen werden minimiert. Aber so hat jeder "seinen" Weg.
__________________
Gruß, DSB
Einfaches Backup/ Restore Deiner MySQl-Datenbank
DSB ist offline   Mit Zitat antworten
Alt 08.05.2008, 10:45   #11
TP-Junior
 
Registriert seit: Jan 2008
[LaBeerdy] macht alles soweit korrekt
Ich habe mittlerweile eines gefunden das sich ganz gut anpassen lässt.

Für alle die etwas ähnliches suchen:

http://phpformgen.sourceforge.net/new_demo/phpformgen/

Mit diesem Generator lässt sich das Ganze auch auf mehrere Seiten aufteilen. Das ganze unktioniert genau mit den erwähnten hidden fields. Für mich die beste Lösung.
Danke für die Hilfe.
[LaBeerdy] ist offline   Mit Zitat antworten
Antwort

  Aktuelles Thema
  TP Hilfe Forum > Web-Editoren & Coding > Traum-Dynamik
PHP Formmailer auf zwei Seiten aufteilen PHP Formmailer auf zwei Seiten aufteilen
« Wann ist ein Seitenaufbau zu langsam? | phpMyAdmin Tabellen Beziehungen »

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 11:03 Uhr.

Powered by: vBulletin Version 3.7 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd. / Search Engine Friendly URLs by vBSEO 3.2.0 ©2008, Crawlability, Inc.
Traum-Projekt.com | Suchen | Archiv | Impressum | Kontakt | | | Nach oben |



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49