zurück zur Startseite
  


Zurück XHTMLforum > Webentwicklung (außer XHTML und CSS) > Serveradministration und serverseitige Scripte
Seite neu laden Problem: Formular-Daten und PHP

Antwort
 
LinkBack Themen-Optionen Ansicht
  #1 (permalink)  
Alt 15.02.2013, 13:37
Benutzerbild von MiJu
Neuer Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 14.01.2008
Beiträge: 2
MiJu befindet sich auf einem aufstrebenden Ast
Standard Problem: Formular-Daten und PHP

Hallo allerseits

Ich stehe gerade vor einem PHP-/Formular-Problem, bei dem mir nun einfach die Ideen ausgegangen sind, wie ich es noch versuchen könnte.

Ich soll für unsere Homepage ein Anmeldeformular erstellen. Alles auch schön und gut, Formular ist da, Daten werden auf die Bestätigungsseite übertragen – und dann beginnt mein Problem.

Die eingegebenen Daten sollen am allerbesten in eine cvs- oder Textdatei geschrieben werden. Das hat nicht geklappt. Ich schaffe es nichtmal, die Datei überhaupt zu öffnen.
Alternativ dachte ich, ich könnte die Daten dann einfach per Mail verschicken; hat auch nicht geklappt. Da kommt keine Mail an.

Da ich das Ganze mit JavaScript leider nicht machen kann, musste ich dafür auf PHP zurückgreifen, wovon ich leider null Ahnung habe und mich einfach nur mit meinen Programmierkenntnissen soweit durchgewühlt habe, dass alle Daten mit einem „echo“ korrekt ausgegeben werden. Die Daten sind also da, nur ich bekomme sie nicht dahin, wo sie hinsollen.
Wegen den fehlenden Kenntnissen fürchte ich, dass da vielleicht einfach ein grundlegender Denkfehler drin ist, den ich nicht finde, weil JavaScript etwas anders gestrickt ist.

Ich hoffe, irgendjemand kann mir hier weiterhelfen

Hier noch der wichtige Teil vom PHP-Code:
PHP-Code:
$csv fopen('http://www.irgendwo.de/anmledung.txt''a');
$output fwrite($csv$zeile);
fclose($csv);

mail('ich@mir.de''Anmeldung'$zeile'From: ' $_REQUEST['TeilnehmerMail']);

echo 
$zeile
Mit Zitat antworten
Sponsored Links
  #2 (permalink)  
Alt 15.02.2013, 14:22
Erfahrener Benutzer
XHTMLforum-Mitglied
 
Registriert seit: 18.06.2007
Ort: Verden
Beiträge: 405
chorn wird schon bald berühmt werden
Standard

das hier

PHP-Code:
$csv fopen('http://www.irgendwo.de/anmledung.txt''a'); 
ist schonmal Quatsch, ein Remotefile kannst du so nicht zum schreiben öffnen, und die Datei befindet sich doch sicher auf deinem Server, am besten im gleichen Verzeichnis, da reicht also

PHP-Code:
$csv fopen('anmledung.txt''a'); 
ggf. hast du dich da noch verschrieben.

Und sowas

PHP-Code:
'From: ' $_REQUEST['TeilnehmerMail'
solltest du unbedingt vermeiden, damit öffnest du Spammern Tür und Tor, die dann in deinem Namen von deinem Server Mist verschicken. Mehr zum Thema: Mail-Injection. Benutze eine Klasse wie PHPMailer dafür, die ist kostenlos, dafür gibt es hunderte Beispiele.

Geändert von chorn (15.02.2013 um 14:25 Uhr)
Mit Zitat antworten
Sponsored Links
  #3 (permalink)  
Alt 15.02.2013, 16:49
Benutzerbild von fox
fox fox ist offline
Erfahrener Benutzer
XHTMLforum-Kenner
 
Registriert seit: 11.09.2006
Beiträge: 1.011
fox sorgt für eine eindrucksvolle Atmosphärefox sorgt für eine eindrucksvolle Atmosphäre
Standard

Nimm statt fopen auch lieber file_put_contents - und ansonsten, wie schon gesagt: Über eine URL kann man ohne weiteres nicht schreiben - nur ins Dateisystem.

Wenn du dich mit mail() nicht auskennst, dann lass da lieber erst mal die Finger davon, sonst kann dein Server ganz schnell zur Spam-Schleuder werden. Oder du nutzt alternativ, wie bereits vorgeschlagen, eine fertige Klasse dafür.
__________________
:)
Mit Zitat antworten
  #4 (permalink)  
Alt 17.02.2013, 18:24
Benutzerbild von David
auch, ja!
XHTMLforum-Kenner
 
Registriert seit: 08.11.2007
Beiträge: 2.630
David ist ein wunderbarer AnblickDavid ist ein wunderbarer AnblickDavid ist ein wunderbarer AnblickDavid ist ein wunderbarer AnblickDavid ist ein wunderbarer AnblickDavid ist ein wunderbarer AnblickDavid ist ein wunderbarer Anblick
Standard

Wichtig ist, dass in den Header keine Zeilenumbrüche einfließen dürfen, weil diese die einzelnen Header-Felder voneinander trennen. D.h. wenn jemand wöllte könnte er in $_REQUEST['TeilnehmerMail'] weitere Header-Felder definieren in dem er Zeilenumbrüche mitschickt.

Dem kannst Du vorbeugen, indem Du die Zeilenumbrüche CRLF entfernst:
PHP-Code:
$from str_replace( array( "\r""\n" ), '',  $_REQUEST'TeilnehmerMail' ] );
$header 'From: ' $from
__________________
github | http://dnaber.de
Mit Zitat antworten
  #5 (permalink)  
Alt 18.02.2013, 10:39
Benutzerbild von MiJu
Neuer Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 14.01.2008
Beiträge: 2
MiJu befindet sich auf einem aufstrebenden Ast
Standard

Yay, es klappt endlich!

Ich weiß zwar nicht, warum ein „fopen“ nicht ging, aber mit „file_put_contents“ und einem angeglichenen Pfad funktioniert es endlich – auch wenn ich fest überzeugt war, sämtliche Pfadvarianten vorher ausprobiert zu haben Naja, wohl doch nicht.

Die Mail-Funktion kann ich dann wohl auch getrost streichen Die war nur als alternative gedacht, falls es gar nicht klappt, Daten in die Datei zu schreiben.

Also, vielen Dank auch euch allen!
Mit Zitat antworten
  #6 (permalink)  
Alt 22.02.2013, 09:16
Benutzer
neuer user
 
Registriert seit: 20.12.2012
Beiträge: 31
ich-bin-heimwerker befindet sich auf einem aufstrebenden Ast
Standard

Wenn Du trotzdem mal in die Verlegenheit kommen solltest, E-Mails per PHP verschicken zu wollen, würde ich trotzdem eine fertige Bibliothek wie z. B. Swiftmailer nutzen.
Mit Zitat antworten
Antwort

Stichwörter
formular, formularproblem, php

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre 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 aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
magento Problem: PHP extension "curl" must be loaded KAVA.hr Offtopic 2 05.03.2012 15:17
Problem bei Formular layout. cooky79 CSS 0 30.05.2011 20:54
PHP mail() formular mit Ajax validieren und abschicken xml Javascript & Ajax 2 03.03.2011 20:13
MySQL Problem wegen php PHP-Freak Serveradministration und serverseitige Scripte 1 08.02.2010 17:57
Formular Problem watermanFFM CSS 2 22.02.2006 20:06


Alle Zeitangaben in WEZ +2. Es ist jetzt 01:23 Uhr.