| PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Post your PHP questions here! |
 |
|

24-09-2009, 21:26
|
|
Gwaagg
Registrierter Benutzer
|
|
Registriert seit: Sep 2009
Beiträge: 28
|
|
??? na ja script fehler
Hallo zusammen
nun folgende script wertet eine eingabe aus und na ja es arbeiten quer bunnt und nicht schön der reihe nach nach unten mache ich was falsch mit den if anweisungen???
und die email kommt auch nicht mehr an..
gruss gwaagg
PHP-Code:
<?php error_reporting(E_ALL); /************************************************************************ * Copyright (C) 1991-2009 Matthias Ruffieux. All rights reserved * * Dies ist ein Formular um der Zopfaktion der Pfadi Effi zu helfen * * Wieviele Zöpfe in welcher grösse sie machen müssen... * * * * * * * * * * * * Geschrieben von Matthias Ruffiex v/o Gwaagg * ************************************************************************/ include ('dbc.php');
if ($_POST['submit'] == 'Bestellen') { echo "Bestellung wird ausgeführt<br>"; } else { $vorname = $_POST["vorname"]; // Variablen einlesen $nachname= $_POST["nachname"]; $road = $_POST["road"]; $number = $_POST["number"]; $ort = $_POST["ort"]; $zeit_ab = $_POST["zeit_ab"]; $zeit_bis = $_POST["zeit_bis"]; $email = $_POST["email"]; $auswahl1 = $_POST["anzahl1"]; $auswahl2 = $_POST["anzahl2"]; $plz = $_POST["plz"]; $datum = date("d.m.Y,H:i:s",time()); // Aktuelles Datum,Zeit ermitteln $geb_id = mt_rand(1000,99999);
function check($vorname,$nachname,$road,$number,$ort,$plz,$zeit_ab,$zeit_bis,$email,$auswahl1,$auswahl2) { if ($zeit_bis == "" or $zeit_ab == "") { $fehler = $fehler." Keine Zeit eingegeben"; } else { if ($zeit_ab < $zeit_bis) { } else { $fehler = $fehler." Zeit ist falsch"; } } if ($auswahl1 == "") $fehler = $fehler." Ihre Auswahl"; if ($auswahl2 == "") $fehler = $fehler." Ihren Auswahl"; if ($vorname == "") $fehler = $fehler." Ihren Vornamen"; if ($nachname == "") $fehler = $fehler." Ihren Nachname"; if ($ort == "") $fehler = $fehler." Ihren Wohnort"; if ($number == "") $fehler = $fehler." Ihren Hausnummer"; if ($road == "") $fehler = $fehler." Ihre Strasse"; if ($plz == "") $fehler = $fehler." Ihre Postleitzahl"; if ($email == "") { $fehler = $fehler." Ihre Emailadresse"; } else { if ($email!="" && ereg("^([a-zA-Z0-9._-]+)@([a-zA-Z0-9.-]+.[A-Za-z][A-Za-z]+)$", $email)) { } else { $fehler = $fehler." echte Mailadresse?"; } } if ($fehler =="") return 1;
else { return "Bitte geben sie noch<b>".$fehler."</b> ein.<br> <a href=\"zopfaktion.html\">Zurück</a><br>"; exit; } }
$result = mysql_query("SELECT geb_id FROM zopf WHERE vorname LIKE '$vorname'"); $menge = mysql_num_rows($result);
if($menge == 0) { $text = "$vorname;$nachname;$road;$number;$ort;$plz;$zeit_ab;$zeit_bis;$email;$auswahl1;$auswahl2;$datum;$geb_id\n"; // Textstring zusammensetzen
$dateiname = "daten.txt"; // Name der Datei $handler = fOpen($dateiname, "a+"); // Datei zum Text anhängen öffnen fWrite($handler, $text); // Dateiinhalt in die Datei schreiben fClose($handler); // Datei schließen // E-Mail Adresse des Empfängers $empfaenger = "$email"; $empfaenger.= ", *"; // Die Betreff (Subject) Zeile der E-Mail $betreff = "Bestellbestätigung"; // Der eigentliche Text (Body) der Nachricht $text = "Danke für die Bestellung per Internet\n\n Ihre Angaben: ____________________________________________ Vorname :$vorname\n Nachname :$nachname\n Anschrift :$road\n :$number\n :$plz\n :$ort\n ********* Ihre Zopfauswahl :Klein $auswahl1\n :Gross $auswahl2\n ********* Ihre Wunschzeit :Zwischen $zeit_ab und $zeit_bis ********* Formular ausgefüllt am: $datum ********* Danke. Dies ist eine Serverseitige erstellte Email.BITTE NICHT ANTWORTEN."; // Mail verschicken mail ($empfaenger, $betreff, $text);
$eintrag = "INSERT INTO zopf (`geb_id`, `vorname`,`nachname`, `email`, `road`, `number`,`plz`, `ort`, `zeit_ab`, `zeit_bis`, `auswahl1`, `auswahl2`, `datum`) VALUES ('$geb_id', '$vorname','$nachname', '$email', '$road', '$number', '$plz', '$ort', '$zeit_ab', '$zeit_bis', '$auswahl1', '$auswahl2', '$datum')";
$eintragen = mysql_query($eintrag);
if($eintragen == true) { echo "Bestellung auf den Namen <b>$vorname,$nachname</b> wurde erstellt. <a href=\"ausgabe.php\" target=\"daten\">anguck mysql auszug-datei</a><br>"; } else { echo "Fehler beim Speichern des Auftrages in die Datenbank. <a href=\"zopfaktion.html\">Zurück</a><br>"; } } else { echo "Vor- und Nachname schon vorhanden. <a href=\"zopfaktion.html\" target=\"daten\">Zurück</a><br>"; } }
?>
Geändert von Gwaagg (25-10-2009 um 17:24 Uhr)
|

24-09-2009, 21:36
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.550
|
|
Hallo Matthias,
willst du uns nicht vielleicht verraten, was jetzt das konkrete Problem ist? Fehlermeldungen und sowas? Als staatlich geprüfte Diplomkristallkugelhexe weiß ich natürlich worum es geht, aber vielleicht wollen die anderen ja auch mitspielen.
Gruß,
Amica
|

24-09-2009, 21:48
|
|
Gwaagg
Registrierter Benutzer
|
|
Registriert seit: Sep 2009
Beiträge: 28
|
|
ja wäre ne idee
also er spuckt das raus wenn ich im formular
nichts eingebe :: Vor- und Nachname schon vorhanden.
wenn ich was eingeben das :: Bestellung auf den Namen hans,müller wurde erstellt. anguck mysql auszug-datei
nun meine frage wie kann ich machen das er das script mit der
prüfung anfängt und mit den einträgen weiter geht und wenn
der mysql oder der txt oder das email nicht funzt das er abricht
oder den schon gemachten eintrag löscht...
gruss matthias
|

24-09-2009, 21:49
|
wahsaga
 Moderator
|
|
Registriert seit: Sep 2001
Beiträge: 24.486
|
|
@Gwaagg: Bitte wähle das nächste Mal einen Thread-Titel, der dein Problem kurz umschreibt!
Und bitte beschreibe auch dein Problem vernünftig. Was du bisher geliefert hast, ist in der Hinsicht so gut wie nichts, nicht mal verständliches Deutsch.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
|

24-09-2009, 21:51
|
|
Gwaagg
Registrierter Benutzer
|
|
Registriert seit: Sep 2009
Beiträge: 28
|
|
Also
mein problem
1.Wie mache ich das er das script von oben nach unten abarbeitet?
2. Notice: Undefined index: submit in /usr/export/www/vhosts/funnetwork/hosting/gwaagg/209/bestell.php on line 16
und das ist die zeile :
PHP-Code:
if ($_POST['submit']=="Bestellen")
Geändert von Gwaagg (24-09-2009 um 21:56 Uhr)
|

24-09-2009, 21:55
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.550
|
|
Zitat:
Zitat von Gwaagg
mein problem
1.Wie mache ich das er das script von oben nach unten abarbeitet?
|
 Das ist jetzt aber nicht deine konkretisierte Problembeschreibung?
|

24-09-2009, 21:59
|
|
Gwaagg
Registrierter Benutzer
|
|
Registriert seit: Sep 2009
Beiträge: 28
|
|
Zitat:
Zitat von AmicaNoctis
 Das ist jetzt aber nicht deine konkretisierte Problembeschreibung?
|
eines meiner grösseren probleme ist das schon....
|

24-09-2009, 22:07
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.550
|
|
Das Script wird von oben nach unten ausgeführt. Wenn du anderer Meinung bist, ist die falsch, aber eine Erklärung wie du darauf kommst, wäre dennoch interessant.
Falls du dich auf die Funktion check beziehst, die wird nie aufgerufen und daher passiert auch nicht das, was da drin steht. Es ist nur eine Definition, was passieren soll, wenn sie aufgerufen wird.
Ist das dein allererstes Programm?
Zitat:
Zitat von Gwaagg
Notice: Undefined index: submit in /usr/export/www/vhosts/funnetwork/hosting/gwaagg/209/bestell.php on line [B]16
|
Abhilfe:
PHP-Code:
if (isset($_POST['submit']) && $_POST['submit']=="Bestellen")
Geändert von AmicaNoctis (24-09-2009 um 22:10 Uhr)
|

24-09-2009, 22:20
|
|
Gwaagg
Registrierter Benutzer
|
|
Registriert seit: Sep 2009
Beiträge: 28
|
|
nein ich schreibe oft programme
aber nicht unbedingt in php! drupal mache ich oft
und wie kann ich das problemchen lösen das er meine funktion ausführt..
und danke für eure hilfe...
|

24-09-2009, 22:22
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.550
|
|
Zitat:
Zitat von Gwaagg
nein ich schreibe oft programme
|
Und in welcher Programmiersprache?
 Wenn das stimmen würde, wüsstest du, dass...
Zitat:
Zitat von Gwaagg
wie kann ich das problemchen lösen das er meine funktion ausführt..
|
... man eine Funktion auch aufrufen muss.
|

24-09-2009, 22:30
|
|
Gwaagg
Registrierter Benutzer
|
|
Registriert seit: Sep 2009
Beiträge: 28
|
|
c++
html
asp
ja die idee wäre ja nicht schlecht...
PHP-Code:
check($vorname,$nachname,$road,$number,$ort,$plz,$zeit_ab,$zeit_bis,$email,$auswahl1,$auswahl2);
danke!
Geändert von Gwaagg (24-09-2009 um 22:34 Uhr)
|

24-09-2009, 22:49
|
|
Gwaagg
Registrierter Benutzer
|
|
Registriert seit: Sep 2009
Beiträge: 28
|
|
jetzt spuckt er wenn ich nichts eingebe :
Code:
Notice: Undefined variable: fehler in /usr/export/www/vhosts/funnetwork/hosting/gwaagg/209/bestell.php on line 48
Vor- und Nachname schon vorhanden. Zurück
PHP-Code:
if ($zeit_bis == "" or $zeit_ab == "") { $fehler = $fehler." Keine Zeit eingegeben"; } else { if ($zeit_ab < $zeit_bis) { } else { $fehler = $fehler." Zeit ist falsch"; } }
|

24-09-2009, 22:53
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.550
|
|
Zitat:
Zitat von Gwaagg
jetzt spuckt er wenn ich nichts eingebe :
[CODE]Notice: Undefined variable: fehler in /usr/export/www/vhosts/funnetwork/hosting/gwaagg/209/bestell.php on line 48]
|
Recht hat er, dann initialisier doch die Variable einfach am Anfang der Funktion.
|

25-09-2009, 17:11
|
|
Gwaagg
Registrierter Benutzer
|
|
Registriert seit: Sep 2009
Beiträge: 28
|
|
Zitat:
Zitat von Gwaagg
jetzt spuckt er wenn ich nichts eingebe :
Code:
Notice: Undefined variable: fehler in /usr/export/www/vhosts/funnetwork/hosting/gwaagg/209/bestell.php on line 48
Vor- und Nachname schon vorhanden. Zurück
PHP-Code:
if ($zeit_bis == "" or $zeit_ab == "") { $fehler = $fehler." Keine Zeit eingegeben"; } else { if ($zeit_ab < $zeit_bis) { } else {
$fehler = $fehler." Zeit ist falsch";
|
pinke zeile das ist sie
|

25-09-2009, 17:13
|
AmicaNoctis
 Moderatorin
|
|
Registriert seit: Jul 2009
Beiträge: 5.550
|
|
Hast du $fehler immer noch nicht initialisiert?
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
|
|
| Thema bewerten |
|
|
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.
HTML-Code ist aus.
|
|
|
|
PHP News
|