HTML mit Formular senden

delphinhawe

Erfahrenes Mitglied
Hallo Alle,

ich habe eine kleine HTML mit Formular gebaut, klappt ganz gut.

Hier ein Beispiel von SELFHTML:

http://de.selfhtml.org/html/formulare/anzeige/input_submit_reset.htm

Zum Versenden der Formular-Daten muss noch ein Script erstellt werden,
so dass die Daten erst auf dem Server von (z.B.) Strato abgelegt (gespeichert) werden, denke ich!
Direkte Versendung von Kontakt-Formular an Email gibt Probleme,
da die meisten Leute keine Email-Programme z.B. Thunderbird, Outlook-Express oder Windows-Email usw. besitzen,
weil die Konfiguration nicht vorgesehen ist.
Ich suche dafür eine Anleitung, wie das Formular nach dem Klick der Schaltfläche ,,Senden“ über den Server
an die Email-Adresse automatisch geschickt werden kann?
Der Empfänger erhält dann einen Text z.B. txt oder ini (vielleicht auch in *.doc oder *.pdf)

Ich habe mich mich mit PHP und CGI noch nicht richtig befasst,
d.h. bevor ich mit dem Script anfange, möchte ich meine Arbeit nicht umsonst machen!

Was brauche ich dafür?
Was muss ich anders tun?
Was muss ich dafür Schritt für Schritt zuerst tun?

Viele Grüsse

delphinhawe
 
Hier haste mal einen kleinen Beispiel Code:
PHP:
<form method="post" action="<?php echo $_SERVER['SELF_PHP']; ?>">
Betreff: <input type="text" name="betreff"/><br/><br/>
Nachricht: <br/> 
<textarea name="nachricht" style="width:500px; height:120px;"></textarea><br/>
<input type="submit" name="absenden" value="Nachricht Senden"/>
</form>

<?php
# Easy Mail
if (isset($_POST['absenden'])) // Prüft ob aus dem Formular (<form>...</form>) der Submit Button Geklickt wurde
{
	$empfaenger = ""; // e-mail adresse des empfängers
	$betreff = $_POST['betreff']; // Verpackt den betreff in eine variable
	$nachricht = $_POST['nachricht']; // Verpackt die Nachricht in eine Variable
	
// $_POST['
// hier kommt der "name"(name="") des zu wählenden gegenstandes aus dem Formular hin.
// ']

mail($empfaenger, $betreff, $nachhricht);
	
	# Liebe Grüße... H4ckHunt3r bzw. sub7even
	
}
?>


Muss natürlich als *.php datei gespeichert werden ;)
Hoffe das Hilft dir^^

Achja... oben in dem Stückchen HTML bereich das hier:
PHP:
<?php echo $_SERVER['SELF_PHP']; ?>
Sorgt nur dafür das der Server Pfad zu der php da rein schreibt in der der code liegt...
^^
 
Danke, Maik ;-)!

An Alle:

Beim Abschnitt
PHP:
<form action="<?php print $_SERVER['PHP_SELF']; ?>" method="post">
aus dem SELFHTML, stehe ich irgendwie auf dem Schlauch.

Eine alte Seite habe ich die HTML als kontaktformular.htm gespeichert.
Jetzt habe ich diese HTML in PHP als kontaktformular.php umgespeichert!

Soll die Aktion im Form-Tag
PHP:
<form action="<?php print $_SERVER['kontaktformular']; ?>" method="post">
jetzt so lauten?

Kann mir jemand den Wert des action-Attributes korrigieren?
Danach probe ich den Test.

Danke schon mal !

@ewgeni: Daankeee! :-) Ich werde mal durchlesen!

@sub7even:

Danke, habe soeben erst gelesen.
 
Danke, Maik ;-)!

An Alle:

Beim Abschnitt
PHP:
<form action="<?php print $_SERVER['PHP_SELF']; ?>" method="post">
aus dem SELFHTML, stehe ich irgendwie auf dem Schlauch.

Eine alte Seite habe ich die HTML als kontaktformular.htm gespeichert.
Jetzt habe ich diese HTML in PHP als kontaktformular.php umgespeichert!

Soll die Aktion im Form-Tag
PHP:
<form action="<?php print $_SERVER['SELF_PHP']; ?>" method="post">
jetzt so lauten?

Kann mir jemand den Wert des action-Attributes korrigieren?
Danach probe ich den Test.

Danke schon mal !

@ewgeni: Daankeee! :-) Ich werde mal durchlesen!


nein... das SELF_PHP(Deutsch = selbst_php) steht einfach nur dafür...
das die php den pfad zu sich selbst da einfügen muss^^
bitte jetzt ned Selbst_php schreiben...^^
einfach so lassen:
PHP:
<form action="<?php print $_SERVER['SELF_PHP']; ?>" method="post">
 
@ewgeni:

„Die Mailfunktion funktioniert nicht am virtuellen Webserver, da dieser über keinen eigenen Mailserver verfügt.
Du kannst den Mailversand nur auf deinem Webspace testen.“


Damit habe ich ein Problem. Ich habe bisher nur bei Yahoo kostenlose Homepage aufgebastelt.
Yahoo verfügt keine spezielles script wie CGI und PHP usw. Bei Strato habe ich noch nicht angemeldet.
Ich möchte auf meine Festplatte (,,Server“) die PHP testen. Danke für Deine URL!
Der Inhalt ist leicht zu erklären verstehen. Die kann ich ja später mal gut gebrauchen und testen,
wenn ich eine eigene Homepage bei Strato habe.

@sub7even:

Ich habe Deinen Code abkopiert und in Adobe Dreamweaver eingefügt,
danach als sub7even.php gespeichert :-). Danach ->Datei->Vorschau in Browser->Firefox getestet.
Das Fenster scheint nicht einwandfrei zu sein, wie folgt:
siehe phpsenden.jpg (links)
Nach dem Klick bekam ich eine Fehler-Meldung wie folgt: Datei nicht gefunden
siehe fehler.jpg (rechts)
Obwohl ich die Datei *.php auf die Festplatte schon gespeichert habe.
Was habe ich da bloß falsch gemacht?
Muss ich vermutlich den virtuellen Webserver für die PHP vorinstallieren,
wenn ja, wie mache ich das zuerst vor?
 

Anhänge

  • phpsenden.jpg
    phpsenden.jpg
    55,7 KB · Aufrufe: 83
  • Fehler.jpg
    Fehler.jpg
    53,7 KB · Aufrufe: 65
Verfügst du über einen lokalen Webserver, wie z.B. XAMPP, auf dem du deine Seiten entwickelst?

Dem linken Schnappschuß zufolge, rufst du das PHP-Dokument nicht über das HTTP-Protokoll (wie z.B. http://localhost/sub7even.php), sondern über das System (file:///E:/sub7even.php) auf, weshalb der PHP-Code nicht vom Server verarbeitet und an das Dokument übergeben, sondern vom Browser in der Seite angezeigt wird.

mfg Maik
 
Verfügst du über einen lokalen Webserver, wie z.B. XAMPP, auf dem du deine Seiten entwickelst?

Dem linken Schnappschuß zufolge, rufst du das PHP-Dokument nicht über das HTTP-Protokoll (wie z.B. http://localhost/sub7even.php), sondern über das System (file:///E:/sub7even.php) auf, weshalb der PHP-Code nicht vom Server verarbeitet und an das Dokument übergeben, sondern vom Browser in der Seite angezeigt wird.

mfg Maik

So is es^^
Halt entweder Apache Server + PHP aufm PC installen dan über http://localhost/... aufrufen
oder einfach auf den FTP Server bei ohost/funpic/kilu/bplaced usw... uppen und testen ;)
 
XAMPP für Windows Vista Ultimate wurde gestern erfolgreich installiert.
Es hat etwas länger gedauert bis ich begriffen habe,
so daß ich die sub7even.php in das Verzeichnis C:\xampp\htdocs\nof endlich richtig zuordnen kann.
Somit kann die Homepage mit,, http://localhost/nof/sub7even.php“ problemlos geöffnet werden!
Echt super! XAMPP-Status zeigt, daß PHP aktiviert ist, gut so!

Nur ein kleines Problem noch:

Ich wollte das Formular an meine Email-Adresse senden.
Nach dem Senden bekam ich eine Fehlermeldung, wie folgt:

HTML:
Betreff ... .. .

Nachricht: ... .. .

... .. .    . ..
Warning: mail() [function.mail]: "sendmail_from" not set in php.ini or custom "From:" header missing in C:\xampp\htdocs\NOF\sub7even.php on line 18


Doch, was bedeutet diese Fehlermeldung?
Ich habe meine Email-Adresse ,,Mustername@Mustername.de“ im PHP-Code von sub7even bereits eingefügt, wie folgt:

PHP:
$empfaenger = " Mustername@Mustername.de "; // e-mail adresse des empfängers


Was habe ich denn schon wieder falsch gemacht?
Ich denke, daß die Konfiguartaion irgendwo noch eingestellt werden muss,
damit das Senden frei zugänglich gemacht werden kann oder?
Soll ich Dir die Bilder hier ins Forum stellen?

Wie komme ich auf den FTP-Server,sub7even? Hast Du dafür die Anleitung?

Außerdem wollte ich die Schaltfläche ,,Sicherheitscheck“ ( http://localhost/xampp/) öffnen,
bekam auch die Fehlermeldung:

HTML:
Zugriff verweigert!

Der Zugriff auf das angeforderte Objekt ist nicht möglich. Entweder kann es vom Server nicht gelesen werden oder es ist zugriffsgeschützt.

Sofern Sie dies für eine Fehlfunktion des Servers halten, informieren Sie bitte den Webmaster hierüber.
Error 403
localhost
02/24/09 23:54:07
Apache/2.2.11 (Win32) DAV/2 mod_ssl/2.2.11 OpenSSL/0.9.8i mod_autoindex_color PHP/5.2.8


Vermutlich hat das etwas mit Blockade zu tun. Wo genau kann ich wieder deblockieren?
 
Zurück