[PHP] Formulare

  • Ersteller Ersteller SGD-Daniel
  • Erstellt am Erstellt am
S

SGD-Daniel

Gast
Hallo,

peinliche Frage ... habe ein Formular-Datei "ein.php" und die ausgabe davon soll "aus.php" heißen. Wie werden die Daten mittels Variablen übernommen? (kein MySQL)
 
AW: Formulare

in deinem Formular musst du eine methode anwenden: entweder get oder post.

Der Unterschied ist, bei get werden die Variablen in der URL mit angezeigt, bei post werden sie versteckt übermittelt.

<form method=post oder get ....>
....
....
</form>

dann in der aus.php

muss bei get stehen:
$Variable = $_GET[Variable]

bei post:
$Variable = $_POST[Variable]

Dann kannst du deine übergebene Variable in der php Datei nutzen.
 
AW: Formulare

danke, und wie muss das dann im "input" stehen bei der "aus.php"?
 
AW: Formulare

Code:
<html>

<head>
<title>Formular zur Klassenauswertung</title>

<style type="text/css">
	th:hover {background-color:#C0C0C0;}
	td:hover {background-color:#FFFFFF;}
</style>

</head>

<body>
<h1>Bewertungsbogen</h1>
<form method = "get" action = "[COLOR="Red"]show_form1.php[/COLOR]"> <!--dein ausgabeformular -->
<table border = "0" cellpadding= "5">
<tr>
	<td>Name, Vorname</td>
	<td>
		<input type = "text" name = "name" size = "40">
	</td>
</tr>
<tr>
	<td>E-Mail</td>
	<td>
		<input type = "text" name = "email" size = "40">
	</td>
</tr>
<tr>
	<td>Wie finden sie meinen Unterricht?</td>
	<td>
</br><input type = "radio" name = "bewertung" value = "1" checked>Super Spitze
</br><input type = "radio" name = "bewertung" value = "2">Einmalig gut
</br><input type = "radio" name = "bewertung" value = "3">Durchschnitt
</br><input type = "radio" name = "bewertung" value = "4">Hinnehmbar
</br><input type = "radio" name = "bewertung" value = "5">Alptraum
</br><input type = "radio" name = "bewertung" value = "6">Wuerg!
	</td>
</tr>
<tr>
	<td>Bemerkung:</td>
	<td>
		<textarea cols = "40" rows = "10" name = "kommentar">
Hier koennen sie ihren Kommentar einfuegen
		</textarea>
	</td>
</tr>
<tr>
	<td colspan = "2">
		<input type = "submit" value = "Abschicken"> <!-- Senden Button -->
		<input type = "reset">
		<input type = "hidden" name = "formular" value = "1">
	</td>
</tr>
</table>
</form>


Ein Beispiel für ein Formular

Zum anschauen: http://floppe.fl.ohost.de/formular/


Ansonsten ncoh selfhtml angucken oder selfphp



in der aus.php**

sollte dieses stehen


<?php

$NAME DES INPUTS ODRE SONSTWAS = $_GET[NAME DES INPUTS];

echo $NAME DES INPUTS ODRE SONSTWAS;

?>
 
Zuletzt bearbeitet:
AW: Formulare

ja, aber in der aus.php wird das kein Punkt in der "radio" gegeben sondern ein Text!
 
AW: Formulare

Code:
</br><input type = "radio" name = "bewertung" [COLOR="Red"]value = "1"[/COLOR] checked>Super Spitze

Bei jedem input wird der Wert des values übergeben, also in diesem Falle 1, es kann natürlich auch wurstbrot sein je nach dem was du reinschreibst ;) Dieser Wert ist dann unter der Variable Bewertung zu finden.

Code:
<?php

$bewertung = $_GET[bewertung];

echo $bewertung;

?>
 
Zuletzt bearbeitet:
AW: Formulare

Code:
<input type = "text" name = "bewertung">

So erstellst du ein Textfeld.

Code:
<input type = "submit" name = "Schicken" value="Schicken">

So überträgst du den Text.

Code:
$var = $_POST['bewertung'];

So liest du das eingegebene aus.
 
AW: Formulare

Vielen Dank. Funktioniert ...

Und wie funktioniert das, dass man auf "Absenden" klickt und dies gleichzeitig per Mail versendet wird und in Datei aus.php ausgegeben wird?
 
Ich würde dir anfangs zu einem Buch raten, welches dir von Anfang an erklärt wie man programmiert. Ich habe mir damals das hier gekauft und ich findes es bietet einen sehr guten Überblick.


EDIT:

Um das von floppe mal zu übersetzen:
Wenn du C sprechen kannst wird PHP schwer sein, wenn du C nicht kannst wird PHP noch schwerer sein.

Greetz RuL3R
 
Zuletzt bearbeitet:
Hallo Daniel,

mit dem mail-Befehl in PHP kannst Du, wenn er mit den entsprechenden Variablen gefüttert ist, wirklich einfach eMails versenden.

Code:
<?PHP
/* Empfänger */
$empfaenger = array('Empfaenger <mail@email.com>');

/* Empfänger CC */
$empfaengerCC = array('CC-Empfaenger <mail@email.com>');

/* Empfänger BCC */
$empfaengerBCC = array('BCC-Empfaenger <mail@email.com>');

/* Absender */
$absender = 'WebSite-Formular <form@website.com>';

/* Rueckantwort */
$reply = 'Empfaenger <mail@email.com>';

/* Betreff */
$subject = 'FormMail von WebSite';

/* Nachricht */
$message = '<html>
    <head>
        <title>Formular - Mail Beispiel</title>
    </head>
    <body>
        Name: $VAR_Name<br>
        eMail: $VAR_eMail<br>
        usw.
    </body>
</html>
';



/* Baut Header der Mail zusammen */
$headers .= 'From:' . $absender . "\n";
$headers .= 'Reply-To:' . $reply . "\n"; 
$headers .= 'X-Mailer: PHP/' . phpversion() . "\n"; 
$headers .= 'X-Sender-IP: ' . $REMOTE_ADDR . "\n"; 
$headers .= "Content-type: text/html\n";

// Extrahiere Emailadressen
$empfaengerString = implode(',', $empfaenger);
$empfaengerCCString = implode(',', $empfaengerCC);
$empfaengerBCCString = implode(',', $empfaengerBCC);

$headers .= 'Cc: ' . $empfaengerCCString . "\n";
$headers .= 'Bcc: ' . $empfaengerBCCString . "\n";

/* Verschicken der Mail */
mail($empfaengerString, $subject, $message, $headers);
?>

Dabei sind '$VAR_Name' und '$VAR_eMail' deine aus dem Formular übergebenen Variablen.


Hoffe das hilft :)


Gruss, Dirk
 
Danke und diese Funktion wird automatisch abgearbeitet, wenn ich den Code am Anfang der Datei schicke, oder muss das in <form> rein?
 
Hallo Daniel,

es ist eine eigene PHP-Funktion und hat nichts mit dem Formular als solches zu tun.

Daher kannst Du damit auch (nur z.B.) bei jedem Aufruf einer Seite eine Mail verschicken. Die Funktion wird bei jeder Interpretation der .php-Datei ausgeführt. Wenn Du das einschränken möchtest, musst Du dies über weitere Codes machen, z.B. if-Anweisungen.


Gruss, Dirk
 
Die Mailfunktion will ich in der "aus.php" realisieren, sozusagen in der Datei, wo die ganzen Eingaben im Formular ausgewertet werden. Daher setze ich das bei der "aus.php" ganz am Anfang. Dann dürfte es ja die Mail versenden?

(Kann es leider nicht testen, da noch alles lokal stattfindet!)
 
Ganz an den Anfang wird sicherlich nicht funktionieren.

Vorher musst Du mit '$_POST[FormFieldName]' oder '$_GET[FormFieldName]' die Werte aus dem Übertragenen Formular auslesen und in Variablen speichern.

Diese Variablen nutzt Du dann um die Werte und Texte deiner eMail zu generieren.

Gruss, Dirk
 
Also so hier:

"ein.php" in dem <form> ...

Zeile 11: $_POST[Nachname]
Zeile 12: $_POST[Vorname]

"aus.php" in $message ...

$message = ' Hallo $Nachname, $Vorname, wir ...'


so korrekt?
 
SGD-Daniel schrieb:
Also so hier:

"ein.php" in dem <form> ...

Zeile 11: $_POST[Nachname]
Zeile 12: $_POST[Vorname]


Das mit dem Post gehoert in die aus.php

in das Formularl kommen Textfelder etc denen du einen Namen gibst


<input type = text name = Vorname>


Typ des inputs
Bezeichnung des Inputs
Übergebene Variable




dann in der aus.php


$Vorname = $_POST[Vorname]

$message = ' Hallo $Vorname, wir ...'


Variable die für den übergebene Wert plausibel von dir ausgewählt wird
 
Ja, ist logisch. Danke! Wenn ich mit include arbeite, sprich die Mailanweisung in eine Extra-Datei einfüge, reicht dann einfach das include(mail.php); oder muss in der mail.php auch noch diese Variablen rein?
 
Wenn die funktionen in der mail.php die Variablen die du übergibst nicht benötigt, dann brauchen die nicht darein.

Allerdings kannst du galube ich die Variablen erst zuweisen und dann den include implementieren.


Versuch macht kluch ;)
 
Zurück
Oben