php.de

Zurück   php.de > Lösungen durch Skripte > Scriptbörse

Scriptbörse PHP Lösungen für nen schmalen Taler

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 01.09.2010, 10:28  
Neuer Benutzer
 
Registriert seit: 01.09.2010
Beiträge: 5
PHP-Kenntnisse:
Anfänger
SteWo1979 befindet sich auf einem aufstrebenden Ast
Standard Kontaktformular mit .txt Datei ausgabe

Hallo zusammen.

Ich habe ein kleines Problem mit meinem Kontaktformular.
Im Grunde soll eine Datei mit dem PHP Code (siehe unten) erstellt und gespeichert werden.

PHP-Code:
<?php
$dateiname 
$telefon.".txt";
if (
file_exists($dateiname))
{
print 
"Sie haben Ihre Stimme schon einen K&uuml;nstler gegeben!";
}
else
{
touch($dateiname);
$fp fopen($dateiname"w");
fwrite($fp"$Name"."n"."$Telefon"."n"."$Betreff"."n"."$Email"."n"."$Nachricht"."n"."$Date"."n");
}
?>
Die Datei wird auch angelegt nur sie bekommt nicht den zugewiesen Dateinamen.

Hier mal die komplette "kontakt.php"

PHP-Code:
<?php
$dateiname 
$telefon.".txt";
if (
file_exists($dateiname))
{
print 
"Sie haben Ihre Stimme schon einen K&uuml;nstler gegeben!";
}
else
{
touch($dateiname);
$fp fopen($dateiname"w");
fwrite($fp"$Name"."n"."$Telefon"."n"."$Betreff"."n"."$Email"."n"."$Nachricht"."n"."$Date"."n");
}
?>

<?php
# Zuerst die Abfrage, ob an der URL "?senden" hängt

if (isset($_GET['senden'])){

# Dann werden die Daten auf Vollständigkeit geprüft:

if (($_POST['vorname'] != '') && ($_POST['nachname'] != '') && ($_POST['email'] != '') && ($_POST['nachricht'] != '')){

# Wenn alle erforderlichen Daten eingegeben wurden, werden die Benutzerangaben (falls vorhanden) in Variablen geschrieben

$vorname $_POST['vorname'];
$nachname $_POST['nachname'];
$email $_POST['email'];
$nachricht $_POST['nachricht'];
if (empty(
$_POST['telefon'])){$telefon "- Nicht angegeben -";} else {$telefon $_POST['telefon'];}

# Dann werden Die Daten für die mail() Funktion in Variablen geschrieben

$an "mail@mydomain.com";
$von "Kontaktformular <$an>";
$betreff "Nachricht von der Homepage";
$header "From: $von\r\n";
$header .= "Subject: $betreff\r\n";
$header .= "Content-Type: text/html\r\n";
$header .= "MIME-Version: 1.0\r\n";
$msg "Jemand hat dir eine Nachricht von der Homepage geschickt:

Name: $vorname $nachname
Email: $email
Telefon: $telefon

---- Nachricht: ----
$nachricht

--------------------"
;

# Falls es beim Senden der Email einen Fehler gibt, wird dies dem Besucher signalisiert

if (mail($an$betreff$msg$header)){
$rueckgabe '<span style="color: #008800;">Vielen Dank, die Nachricht wurde erfolgreich versandt.</span><br />';
}else{
$rueckgabe '<span style="color: #cc0000;">Beim Senden der Email ist ein Fehler aufgetreten.</span><br />';
}
} else {
$rueckgabe '<span style="color: #cc0000;">Bitte alle Felder, die mit * markiert sind, ausfüllen.';
}
}else{
$rueckgabe '';
}
echo 
$rueckgabe;
?>

<form action="<?php echo $_SERVER['PHP_SELF'];?>?senden" method="post">
<table border="0">
<tr>
<td>Vorname:*</td>
<td><input name="vorname" size="25" type="text" /></td>
</tr>
<tr>
<td>Nachname:*</td>
<td><input name="nachname" size="25" type="text" /></td>
</tr>
<tr>
<td>Email:*</td>
<td><input name="email" size="25" type="text" /></td>
</tr>
<tr>
<td>Tel.:</td>
<td><input name="tel" size="25" type="text" /></td>
</tr>
<tr>
<td>Nachricht:*</td>
<td><textarea cols="50" rows="3" name="nachricht"></textarea></td>
</tr>
<tr>
<td colspan="2"><center><input type="submit" value="Senden" /></center></td>
</tr>
</table>
</form>
würde mich freuen wenn einer von euch den FEHLER findet, bin schon seit 2 Stunden am basteln und sehe den Wald voller Bäume nicht mehr!

Geändert von Asipak (01.09.2010 um 10:32 Uhr). Grund: BB-Tags hinzugefügt
SteWo1979 ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 01.09.2010, 10:34  
Moderator
 
Benutzerbild von Asipak
 
Registriert seit: 18.07.2005
Beiträge: 4.071
Asipak sorgt für eine eindrucksvolle AtmosphäreAsipak sorgt für eine eindrucksvolle Atmosphäre
Standard

Bitte verwende in Zukunft [php][/php] - Tags, wenn du PHP-Code posten möchtest.

Zum Problem: Welchen Namen bekommt sie denn dann? Woher kommt $telefon?

Du musst die Datei nach dem Öffnen auch wieder schließen. fclose
__________________
HalloPHP
Asipak ist offline   Mit Zitat antworten
Alt 01.09.2010, 11:27  
fab
Erfahrener Benutzer
 
Benutzerbild von fab
 
Registriert seit: 28.07.2010
Beiträge: 1.720
PHP-Kenntnisse:
Fortgeschritten
fab ist einfach richtig nettfab ist einfach richtig nettfab ist einfach richtig nettfab ist einfach richtig nett
Standard

Du belegst die ganzen Variablen erst am Ende nachdem du schon mehrmals versucht hast, auf sie zuzugreifen. So funktioniert das nicht
fab ist offline   Mit Zitat antworten
Alt 01.09.2010, 14:45  
Moderator¹
 
Registriert seit: 28.03.2010
Beiträge: 7.470
PHP-Kenntnisse:
Fortgeschritten
ChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer Anblick
Standard

Stelle bitte das error_reporting auf E_ALL und display_errors auf 1 - dann hat PHP die Chance, dich auf solche Fehler wie von fab angesprochen selber hinzuweisen.
__________________
RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
ChrisB ist offline   Mit Zitat antworten
Alt 01.09.2010, 15:53  
Neuer Benutzer
 
Registriert seit: 01.09.2010
Beiträge: 5
PHP-Kenntnisse:
Anfänger
SteWo1979 befindet sich auf einem aufstrebenden Ast
Standard

sorry ich versteh nur Bahnhof!
wie müsste das denn der Code aussehen?
SteWo1979 ist offline   Mit Zitat antworten
Alt 01.09.2010, 15:54  
Moderator
 
Benutzerbild von Asipak
 
Registriert seit: 18.07.2005
Beiträge: 4.071
Asipak sorgt für eine eindrucksvolle AtmosphäreAsipak sorgt für eine eindrucksvolle Atmosphäre
Standard

Siehe Post #4:

Schreib mal
Code:
<?php
error_reporting(-1);
ini_set('display_errors', 1);
an den Anfang deiner Datei und behebe die Fehler.
__________________
HalloPHP
Asipak ist offline   Mit Zitat antworten
Alt 01.09.2010, 18:19  
Moderator
 
Registriert seit: 06.06.2008
Beiträge: 4.849
PHP-Kenntnisse:
Fortgeschritten
Wolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer Anblick
Wolla eine Nachricht über ICQ schicken
Standard

In deinem fwrite-Befehl ganz oben:

fwrite($fp, "$Name"."n"."$Telefon"."n".

schreibst du Variablen $Name, $Telefon usw. weg, die erst später im Script aus dem $_POST-array gebildet werden.

Die gespeicherten Werte trennst du auch noch mit Kleinbuchstaben n.

Bau das Error Reporting ein und schau dir mal genau an, was da passiert bzw. was passieren soll.
__________________
Warum denkt mein Hund eigentlich immer dann, wenn es an der Tür klingelt, es sei für ihn?
Wolla ist offline   Mit Zitat antworten
Alt 02.09.2010, 12:37  
Neuer Benutzer
 
Registriert seit: 01.09.2010
Beiträge: 5
PHP-Kenntnisse:
Anfänger
SteWo1979 befindet sich auf einem aufstrebenden Ast
Standard

em sorry ich hab echt kein Plan was ihr meint, kann nicht einer von euch mal an Hand eins Beispieles gerade eure Verbesserungen posten. bin wie gesagt ein Nub in der Sache!

Danke!
SteWo1979 ist offline   Mit Zitat antworten
Alt 02.09.2010, 12:39  
Moderator
 
Benutzerbild von Asipak
 
Registriert seit: 18.07.2005
Beiträge: 4.071
Asipak sorgt für eine eindrucksvolle AtmosphäreAsipak sorgt für eine eindrucksvolle Atmosphäre
Standard

[MOD: Thread verschoben]
__________________
HalloPHP
Asipak ist offline   Mit Zitat antworten
Alt 02.09.2010, 12:43  
fab
Erfahrener Benutzer
 
Benutzerbild von fab
 
Registriert seit: 28.07.2010
Beiträge: 1.720
PHP-Kenntnisse:
Fortgeschritten
fab ist einfach richtig nettfab ist einfach richtig nettfab ist einfach richtig nettfab ist einfach richtig nett
Standard

Du willst dafür noch ein Beispiel?? Bitte:

PHP-Code:
// Falsch:
echo $variable;
$variable 'Hallo Welt'
PHP-Code:
// Richtig:
$variable 'Hallo Welt';
echo 
$variable
Oder anders gesagt, du hast dich offenbar beim zusammenkopieren von Code in der Reihenfolge vertan.
fab ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
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

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Kontaktformular + Datei mitschicken cml PHP Tipps 2010 5 28.04.2010 21:37
Search input in eine .txt datei speichern miladk Scriptbörse 5 18.03.2010 01:58
Upload script datei type falsch erkannt Marti95. PHP Tipps 2009 27 14.09.2009 15:32
Ausgabe einer Datei fehlerhaft PHP Tipps 2006 23 14.01.2006 10:25
[Erledigt] Zeilen aus .txt Datei löschen PHP Tipps 2005-2 23 18.10.2005 16:22
[Erledigt] Fehlermeldung weil .txt Datei nicht existiert PHP Tipps 2005-2 9 28.09.2005 19:57
Datei auf FTP-Server ändern ohne lokal abzuspeichern faux PHP-Fortgeschrittene 11 02.09.2005 11:54
kommentarfunktion - .txt datei erstellen PHP Tipps 2005-2 8 23.06.2005 17:18
*.txt Datei in Mysql PHP-Fortgeschrittene 4 25.04.2005 11:05
Datei mit php erzeugen Stümper PHP Tipps 2004 4 12.10.2004 12:51
Ausgabe einer Datei in andere schreiben? Unbekanntes_Pferd PHP Tipps 2004 1 07.10.2004 12:16
php und ftp PHP Tipps 2004 4 07.10.2004 09:58
[Erledigt] Von textfeld in .txt Datei HTML, Usability und Barrierefreiheit 4 22.09.2004 22:33
Auslesen von Teilen einer .txt Datei PHP Tipps 2004 4 20.09.2004 20:30
Ext .txt Datei auslesen PHP Tipps 2004 2 14.08.2004 21:18

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
dateiausgabe php, php dateiausgabe .txt, kontaktformular html ausgabe in txt, kontaktformular email text als txt, kontaktformular to txt, php dateiname eingeben abfrage file_exists, html php if, php echo ausgabe .txt

Alle Zeitangaben in WEZ +1. Es ist jetzt 14:07 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum