Einen Fragebogen in PHP über mehrere Seiten gehen lassen?
mortimer
- php
0 Fabian Transchel0 mamue0 Frank
Hi
Ich habe einen super kleinen fragebogen gemacht in dem ich geschaut habe ob er mir bei den antworten die radiobuttons und checkboxes auch richtig ausgibt.
Nur frage ich mich ob ich das auf verschiedene seiten verteilen kann.
Ich will ca. 16 "cards" haben die man ausfüllen muss und am ende auf SENDEN drückt und er alle beantworteten fragen an mich schickt.
Kann mir hemand zeigen wie ich sowas für das verteilen auf mehrere seiten machen musss?
mfg
mortimer
Hi
Ich habe einen super kleinen fragebogen gemacht in dem ich geschaut habe ob er mir bei den antworten die radiobuttons und checkboxes auch richtig ausgibt.
Nur frage ich mich ob ich das auf verschiedene seiten verteilen kann.
Ich will ca. 16 "cards" haben die man ausfüllen muss und am ende auf SENDEN drückt und er alle beantworteten fragen an mich schickt.
Kann mir hemand zeigen wie ich sowas für das verteilen auf mehrere seiten machen musss?
Mit einem Wort: Sessions.
Du packst auf jeder neuen Seite die (hoffentlich) nummerierten Antworten in eine oder mehrere Sessionvariablen und dann hast du sie am Ende alle parat.
Fabian
Mit einem Wort: Sessions.
Du packst auf jeder neuen Seite die (hoffentlich) nummerierten Antworten in eine oder mehrere Sessionvariablen und dann hast du sie am Ende alle parat.
Fabian
Ich verstehe nicht ganz?
Was sind sesseions?
WIe benutze ich sie?
Was schreibe ich?
Ich bin sehr neu mit PHP.. daher doch bitte ein besipiel...! =/
mfg
mortimer
Hallo Mortimer
Mit einem Wort: Sessions.
Du packst auf jeder neuen Seite die (hoffentlich) nummerierten Antworten in eine oder mehrere Sessionvariablen und dann hast du sie am Ende alle parat.
Ich verstehe nicht ganz?
Weiß ich nicht.
Was sind sesseions?
http://www.php.net/manual/de/ref.session.php
WIe benutze ich sie?
Wie es dort steht.
Was schreibe ich?
Das weiß ich nciht.
Ich bin sehr neu mit PHP.. daher doch bitte ein besipiel...! =/
Siehe der Manual-Link. Bastel ein wenig rum, und probier auch mal eine andere Lösung via DB oder Files aus, dann wird das schon ;-)
Fabian
Hi
Ich habe es mal mit den Hiffen-fields versucht. Aber ich habe fehler =/
http://mitglied.lycos.de/storagehall/cards/card01.htm
es scheint fast als würde er nichtmal das php verstehen =/
Obwohl er grade noch.. aber dann... *kopf sinken lässt*
Ich weiss nicht weiter.
thx alot
mfg
mortimer
Morgen
Ich habe es mal mit den Hiffen-fields versucht. Aber ich habe fehler =/
Was hast du versucht, und was geht nicht? *inkristallkugelblick*
http://mitglied.lycos.de/storagehall/cards/card01.htm
HTTP 404
es scheint fast als würde er nichtmal das php verstehen =/
Obwohl er grade noch.. aber dann... *kopf sinken lässt*
Etwas mehr Selbsteinsatz bitte.
Fabian
also mal ganz von vorne:
Ich hatte einmal einen fragebogen:
http://mitglied.lycos.de/storagehall/em01/mail2.php
An dem will ich nun testen wie ich den auf 2 Seiten aufteile (damit ich es lerne und auf ein anderes projekt anwenden kann)
Der Code:
-------------------------------------------------------------------
<html>
<?php
if($action=="senden") {
$betreff = trim(stripslashes($betreff));
$inhalt = trim(stripslashes($inhalt));
// Prüfung der Angaben nach dem Senden
if(!$name) $fehler[] = "Ihr Name fehlt.";
if(!$betreff) $fehler[] = "Der Betreff fehlt.";
if(!$inhalt) $fehler[] = "Sie haben keine Nachricht geschrieben.";
if(!$von) $fehler[] = "Ihre Emailadresse fehlt";
if(!$frage1) $fehler[] = "Sie haben Frage 1 noch nicht beantwortet!";
if(!$frage2) $fehler[] = "Bitte füllen sie auch Frage 2 noch aus!";
if(!count($fehler)) { // Sendet Email, wenn Prüfung "ok"
echo("<p>Ihre Nachricht wie folgt wurde gesendet.<p>\n\n");
echo "Name: <b>$name</b><br>\n";
echo "Betreff: <b>$betreff</b><br>\n";
echo "Inhalt: <b>".nl2br($inhalt)."</b><br>\n";
echo "Lacht gerne: <b>".nl2br($frage1)."</b><br>\n";
echo "Weil: <b>".nl2br($frage2)."</b><br>\n";
$text .= "inhalt: $inhalt\n";
$text .= "lacht gerne: $frage1\n";
$text .= "grund: $frage2\n";
@mail($an,$betreff,$inhalt,$frage1,$frage2,$text,"From: ".$von);
} else { // Fehlerausgabe, wenn Felder leer waren
echo "Beim Senden traten folgender Fehler auf:";
echo "<ul><li>".implode("<li>",$fehler)."</ul>";
}
}
?>
<form action="<?php echo $PHP_SELF; ?>" method="post">
<input type="hidden" name="action" value="senden">
<input type="hidden" name="an" value="indyaner@indyaner.de">
<table>
<tr>
<td>Name</td>
<td><input name="name" value="<?php echo $name; ?>"></td>
</tr>
<tr>
<td>Email</td>
<td><input name="von" value="<?php echo $von; ?>"></td>
</tr>
<tr>
<td>Betreff</td>
<td><input name="betreff" value="<?php echo $betreff; ?>"></td>
</tr>
<tr>
<td>Inhalt</td>
<td><textarea name="inhalt"><?php echo $inhalt; ?></textarea></td>
</tr>
<tr>
<td height="100"><p>frage1</p>
<p> </p>
<p> </p></td>1
<td><p>lachst du gerne?</p>
<p>
<input type="radio" name="frage1" value="ja">
ja!</p>
<p>
<input type="radio" name="frage1" value="nein">
nein! </p></td>
</tr>
<tr>
<td height="130">
<p>frage2</p>
<p> </p>
<p> </p>
<p> </p></td>
<td><p>weil? (mehrfachnennung)</p>
<p>
<input name="frage2" type="checkbox" id="frage2" value="kannnicht">
ich es (nicht) kann!</p>
<p>
<input name="frage2" type="checkbox" id="frage2" value="willnicht">
ich es so will!</p>
<p>
<input name="frage2" type="checkbox" id="frage2" value="ineinersekte">
ich bin in einer sekte!</p></td>
</tr>
<tr>
<td>53</td>
<td><input type="submit"></td>
</tr>
</table>
</form>
</html>
-------------------------------------------------------------------
Kan mir jemand ... BITTE... diesen code einmal in 2 teile machen so dass ich ihn in die dateien cart01.php und cart02.php legen kann und alles geht? =/
Ich versteh es nicht ... vorhin hatte ich nämlich das mit den hiddenfeldern versucht und ich habe es nicht gebacken bekommen =(
Nur als beispiel. HTML lernte ich damals vor 4 jahren auch durch beispiele. Wäre also wirklich SEHR nett. Bitte =|
mfg
mortimer
Hi
Ich hatte einmal einen fragebogen:
http://mitglied.lycos.de/storagehall/em01/mail2.phpAn dem will ich nun testen wie ich den auf 2 Seiten aufteile (damit ich es lerne und auf ein anderes projekt anwenden kann)
Der Code:
Doctype gehört hier erstmal hin.
<html>
<?php
if($action=="senden"){
Wo kommt $action denn her? Wie wär's mit $action = $_POST['action']; ?
$betreff = trim(stripslashes($betreff));
$inhalt = trim(stripslashes($inhalt));// Prüfung der Angaben nach dem Senden
if(!$name) $fehler[] = "Ihr Name fehlt.";
if(!$betreff) $fehler[] = "Der Betreff fehlt.";
if(!$inhalt) $fehler[] = "Sie haben keine Nachricht geschrieben.";
hier genauso: $name = $_POST['name'] etc.
if(!$von) $fehler[] = "Ihre Emailadresse fehlt";
if(!$frage1) $fehler[] = "Sie haben Frage 1 noch nicht beantwortet!";
if(!$frage2) $fehler[] = "Bitte füllen sie auch Frage 2 noch aus!";if(!count($fehler)) { // Sendet Email, wenn Prüfung "ok"
[...]Kan mir jemand ... BITTE... diesen code einmal in 2 teile machen so dass ich ihn in die dateien cart01.php und cart02.php legen kann und alles geht? =/
Ich versteh es nicht ... vorhin hatte ich nämlich das mit den hiddenfeldern versucht und ich habe es nicht gebacken bekommen =(
Nur als beispiel. HTML lernte ich damals vor 4 jahren auch durch beispiele. Wäre also wirklich SEHR nett. Bitte =|
mfg
mortimer
Fabian
Hi,
if($action=="senden"){
Wo kommt $action denn her? Wie wär's mit $action = $_POST['action']; ?
berechtigte Frage, aber hier wurde doch garantiert wieder nicht verstanden, dass der Name des Submit-Buttons übertragen und abgefragt werden muss und nicht der Text, der bein <form action"..." ...> drinsteht.
Alternativ kann man natürlich auch die Existenz und den Wert eines hidden-Field abfragen.
Liebe Grüße aus http://www.braunschweig.de
Tom
Hi Tom
if($action=="senden"){
Wo kommt $action denn her? Wie wär's mit $action = $_POST['action']; ?berechtigte Frage, aber hier wurde doch garantiert wieder nicht verstanden, dass der Name des Submit-Buttons übertragen und abgefragt werden muss und nicht der Text, der bein <form action"..." ...> drinsteht.
Das tut mir nun leid, aber ich denke, dass man
a) fragen kann, wo denn $_POST herkommt, wenn man es nicht weiß, oder aber
b) zur Abwechslung mal selbst sucht.
Alternativ kann man natürlich auch die Existenz und den Wert eines hidden-Field abfragen.
Wofür, wenn das Konzept ordentlich ist, braucht man doch keine hidden fields.
Grüße, Fabian
Hallo nochmal
if($action=="senden"){
Wo kommt $action denn her? Wie wär's mit $action = $_POST['action']; ?berechtigte Frage, aber hier wurde doch garantiert wieder nicht verstanden, dass der Name des Submit-Buttons übertragen und abgefragt werden muss und nicht der Text, der bein <form action"..." ...> drinsteht.
Ich vergaß eben zu erwähnen, dass man ja uch in der action die actionvariable mit "senden" belegen kann.
action="auswert.php?action=senden"
dann ist $_GET['action'] == "senden"
Für die HTTP-Kenner: Ja, in POST-Formularen ist das so! PHP wertet nämlich den Query-String ganz normal aus und füllt damit $_GET. Ist das ganze ein GET-Form geht es nicht, da der Query-String überschrieben wird.
Fabian
hallo Mortimer,
da gibt es viele möglichkeiten, etwa:
mfg
mamue
Es gibt fertige PHP Scripts.
Schau mal auf:
www.php-archiv.de