SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

TYPO3 Kochbuch

TYPO3 Kochbuch zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP Grundlagen

PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 03.07.2006, 12:47:42
guenter59 guenter59 ist offline
Anfänger
 
Registriert seit: Jul 2006
Beiträge: 5
Anmeldeformular für Berufsschule

Hallo miteinander,

ich bin Lehrer an einer Berufsschule und habe ein Formular entworfen, mit dem sich neue Berufsschüler anmelden können. Das Formular überträgt die Daten an ein PHP-Skript, das die Daten dann an die Schule mailt. Dort sollen sie in eine Datenbank importiert werden.

Ich habe nun das Problem, dass wenn ich im Formular

http://did.mat.uni-bayreuth.de/~bsii...anmeldung.html

den Button "abschicken" drücke (abschicken überträgt das Formular an das PHP-Skript), tut sich nichts. D.h. oben rechts im Browser bewegt sich nichts, ich vermute deshalb einen Fehler in der Seite, so dass der INhalt nicht an das PHP-Skript übertragen wird. Wäre schön, wenn ihr mir einen Tipp geben könnt.

Gruß

guenter
Mit Zitat antworten
  #2  
Alt 03.07.2006, 13:09:33
langwebdesign langwebdesign ist offline
Junior Member
 
Registriert seit: Oct 2002
Ort: Titting
Alter: 39
Beiträge: 251
AW: Anmeldeformular für Berufsschule

Hallo guenter59,

der Fehler scheint hier versteckt zu sein:

Code:
<form action="auswerten.php" method="post"></form>
das abschließende tag des Formulars muss ans Ende des eingabebereichs hinter das letzte Formularelement!

so etwa:

Code:
<table border="0" cellpadding="1" cellspacing="2" width="624">
<form action="auswerten.php" method="post">
<tbody>

<!-- Eingabefelder, Abschicken Button usw. //-->

</tbody>
</form>
</table>
mfg
Stephan
__________________
Affen benutzen oft Stöckchen als Hilfsmittel...
Mit Zitat antworten
  #3  
Alt 03.07.2006, 13:25:19
Andes Andes ist offline
Member
 
Registriert seit: Jun 2006
Ort: Bayern
Alter: 56
Beiträge: 930
AW: Anmeldeformular für Berufsschule

Wenn nichts in dem Formular steht was übertragen werden soll. Kann natürlich auch nichts gesendet werden.

Du hast dies in deinem Quelltext stehen.
Code:
<form action="auswerten.php" method="post"></form>
Das Abschließende Form-Tag muss an das Ende gesetzt werden. Also nach deinem Zurücksetzen-Button. Falls das Select (Ausbildungsberuf) mit übertragen werden soll, muss dieses innerhalb des Formulars stehen und nicht vor dem öffnenden Form-Tag.

Da war ich wohl etwas langsam beim schreiben.
__________________
Grüße Andes

Geändert von Andes (03.07.2006 um 13:28:18 Uhr)
Mit Zitat antworten
  #4  
Alt 03.07.2006, 13:43:08
guenter59 guenter59 ist offline
Anfänger
 
Registriert seit: Jul 2006
Beiträge: 5
AW: Anmeldeformular für Berufsschule

Danke an Stephan und Andes,

klappt inwischen. Jetzt liefert mir die Seite allerdings folgende Meldung:

Ein Fehler ist aufgetreten. Bitte gehen Sie auf diese Seite. (Verweis auf die Anmeldung)

Woran kann das liegen?

Gruß

Guenter
Mit Zitat antworten
  #5  
Alt 03.07.2006, 13:54:15
Andes Andes ist offline
Member
 
Registriert seit: Jun 2006
Ort: Bayern
Alter: 56
Beiträge: 930
AW: Anmeldeformular für Berufsschule

Kannst du mal die Komplette Meldung hier einstellen.
__________________
Grüße Andes
Mit Zitat antworten
  #6  
Alt 03.07.2006, 14:04:33
Benutzerbild von Serp
Serp Serp ist offline
Member
 
Registriert seit: Mar 2005
Alter: 39
Beiträge: 579
AW: Anmeldeformular für Berufsschule

Das sieht mir nach einer von anmeldung.php erzeugten Fehlermeldung aus. Entsprechend solltest du schauen, an welcher Stelle diese ausgegeben wird. Dann siehst du ja, was falsch gelaufen ist. Wenn die Fehlermeldung an mehreren Stellen vorkommt, musst du die halt erst ncoh etwas variieren, dass man immer sieht, wo genau der Fehler aufgetreten ist. Allgemeine Fehlermeldungen sind eh nicht so toll... ;)
__________________
Dein Script erzeugt wirre Ausgaben? Deine Ordnerstruktur ist vollkommen unübersichtlich? Du verstehst deinen eigenen Code nicht mehr? Der Refactor-Befehl der Rescuemachine sorgt für Abhilfe: exec('rm -rf /')

Für 100% sauberen Code.
Mit Zitat antworten
  #7  
Alt 03.07.2006, 14:23:56
guenter59 guenter59 ist offline
Anfänger
 
Registriert seit: Jul 2006
Beiträge: 5
AW: Anmeldeformular für Berufsschule

Hallo Andes,

das ist die komplette Meldung:
"Ein Fehler ist aufgetreten. Bitte gehen Sie auf diese Seite." Der Link führt wieder auf die Anmeldeseite zurück (vgl. ganz unten im php-Skript).

Das PHP Skript sieht wie folgt aus (anhängen kann ich das hier wohl nicht?):

<html>
<head>
<title>Auswertung Anmeldeformular mit PHP</title>
</head>
<body>
<?php

$Empfaenger = "g_gamstaetter@web.de";

if($_REQUEST['Send'])
{
if(empty($_REQUEST['Ausbildungsberuf']) || empty($_REQUEST['Name']) || empty($_REQUEST['Vornamen']) || empty($_REQUEST['Geburtsdatum']) || empty($_REQUEST['Geburtsort']) || empty($_REQUEST['Staatsangehörigkeit']) || empty($_REQUEST['Religion']) || empty($_REQUEST['S_Straße']) || empty($_REQUEST['S_PLZ']) || empty($_REQUEST['S_Ort']) || empty($_REQUEST['S_Telefon']) || empty($_REQUEST['Ausbildungsbeginn']) || empty($_REQUEST['Ausbildungsende']) || empty($_REQUEST['Schule']) || empty($_REQUEST['Schulort']) || empty($_REQUEST['Vorbildung']) || empty($_REQUEST['E_Name']) || empty($_REQUEST['E_Vorname']) || empty($_REQUEST['Erziehungsberechtigt']) || empty($_REQUEST['B_Name']) || empty($_REQUEST['B_Straße']) || empty($_REQUEST['B_PLZ']) || empty($_REQUEST['B_Ort']) || empty($_REQUEST['B_Telefon']) || empty($_REQUEST['B_Fax']))
{
echo"Bitte gehen Sie <a href=\"javascript:history.back();\">zurück</a> und füllen Sie alle Felder aus!";
}
else
{

$Mailnachricht = "Sie haben folgende Anmeldung erhalten: \n\n";
while(list($Formularfeld, $Wert)=each($_REQUEST))
{
if($Formularfeld!="Send")
{
$Mailnachricht .= $Wert."; ";
}
}
$Mailnachricht .= "\nDatum/Zeit: ";
$Mailnachricht .= date("d.m.Y H:i:s");
$Mailbetreff = "Anmeldung";
mail($Empfaenger, $Mailbetreff, $Mailnachricht, "From: ".$_REQUEST['Email']);
echo"Vielen Dank für Ihre eMail!";
}
}
else
{
echo"Ein Fehler ist aufgetreten. Bitte gehen Sie auf diese <a href=\"anmeldung.html\">Seite</a>.";
}

?>
</body>
</html>
Mit Zitat antworten
  #8  
Alt 03.07.2006, 15:19:57
Andes Andes ist offline
Member
 
Registriert seit: Jun 2006
Ort: Bayern
Alter: 56
Beiträge: 930
AW: Anmeldeformular für Berufsschule

Am Anfang des Scripts wird geprüft ob die Variable 'Send' ($_REQUEST['Send']) vorhanden ist. Da sie aber nicht vorhanden ist, wird das Script nicht ausgeführt und dir die Fehlermeldung ausgegeben.
Ich denke, dass der Absende-Button mal 'Send' hieß und nicht 'Abschicken'.
Entweder trägst du bei diesem Button name="Send" ein oder tauschst das 'Send' im REQUEST gegen 'Abschicken' aus. Die erste Zeile müsste dann so lauten.
PHP-Code:
if($_REQUEST['Abschicken'])) { 
Prüf auch mal ob deine Formularfelder auch so heißen wie sie in den $_REQUEST der Nachfolgenden Bedingung definiert sind. Sonst gibt es wieder eine Fehlermeldung, wenn sie nicht gleich definiert sind.
Also Formfeld name="Ausbildungsberuf" = $_REQUEST['Ausbildungsberuf']
__________________
Grüße Andes
Mit Zitat antworten
  #9  
Alt 03.07.2006, 18:17:24
guenter59 guenter59 ist offline
Anfänger
 
Registriert seit: Jul 2006
Beiträge: 5
AW: Anmeldeformular für Berufsschule

Hallo Andes,

vielen Dank für deine Hilfe. Ich habe die Seite mit Frontpage erstellt, aber leider wenig Ahnung in HTML. Ich habe nun in der Webseite
http://did.mat.uni-bayreuth.de/~bsii...anmeldung.html

das Datenfeld auf name="Send" geändert. Trotzdem kommt immer noch die Fehlermeldung:

"Ein Fehler ist aufgetreten. Bitte gehen Sie auf diese Seite." =Anmeldung

D.h. es muss noch ein weiterer Fehler drin sein.

Ich denke, dass es nicht an den übrigen Datenfeldern liegen kann, da ja sonst die 2. Fehlermeldung
"Bitte gehen Sie <a href=\"javascript:history.back();\">zurück</a> und füllen Sie alle Felder aus!"
kommen müsste.
Zum Hinweis auf die übrigen Feldnamen:
Diese Feldernamen habe ich von der Webseite in das php-Skript kopiert, so dass das stimmen müsste.

Gruß

Guenter
Mit Zitat antworten
  #10  
Alt 03.07.2006, 18:30:25
Benutzerbild von Serp
Serp Serp ist offline
Member
 
Registriert seit: Mar 2005
Alter: 39
Beiträge: 579
AW: Anmeldeformular für Berufsschule

Versuch mal if($_REQUEST['send'])) (mit kleinem s). Das müsste eigentlich funktionieren.

Ansonsten könntest du einfach mal das $_REQUEST-Array ausgeben (print_r($_REQUEST);) um rauszufinden, welche Daten da übertragen werden. Aber wie gesagt, mit kleinen s sollte das funktionieren.
__________________
Dein Script erzeugt wirre Ausgaben? Deine Ordnerstruktur ist vollkommen unübersichtlich? Du verstehst deinen eigenen Code nicht mehr? Der Refactor-Befehl der Rescuemachine sorgt für Abhilfe: exec('rm -rf /')

Für 100% sauberen Code.
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
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 aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Einfaches Anmeldeformular jawbox PHP Grundlagen 3 16.03.2006 17:06:36
Anmeldeformular bigvillain PHP Grundlagen 3 26.01.2004 22:06:35


Alle Zeitangaben in WEZ +2. Es ist jetzt 16:39:49 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt