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 ::

Das Zend Framework

Das Zend Framework 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 > HTML, CSS und JavaScript Help!
Hilfe Community Kalender Heutige Beiträge Suchen

HTML, CSS und JavaScript Help! Hier gibt es Hilfe zu HTML, CSS und JavaScript Problemen

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 09.01.2007, 21:45:58
Benutzerbild von Socrates
Socrates Socrates ist offline
Member
 
Registriert seit: Jul 2006
Ort: Göttingen/Deutschland
Alter: 35
Beiträge: 586
formularfelder überprüfen

hallo!
Ich wollte mit hilfe des folgenden scripts überprüfen ob etwas in den formularfeldern steht bzw ob die angegebene mailaddi existiert:
PHP-Code:
<script language="JavaScript"
<!-- 
function 
EingabenUeberpruefen() 

    var 
Fehlermeldung ""
  
    if(
document.Eingabeformular.Vorname.value == ""
    { 
        
Fehlermeldung += "Bitte geben Sie Ihren Vornamen an!\n"
    } 
  
    if(
document.Eingabeformular.Nachname.value == ""
    { 
        
Fehlermeldung += "Bitte geben Sie Ihren Nachnamen an!\n"
    } 

    if(
document.Eingabeformular.Email.value == ""
    { 
        
Fehlermeldung += "Bitte geben Sie Ihre E-Mailadresse an!\n"
    } 

    if(
document.Eingabeformular.Email.value.match (/^[a-zA-Z0-9_.-]{2,}@[a-z0-9-]{3,}.[a-z]{2,4}|museum$/))
    {
    
Fehlermeldung += "Ihre E-Mailadresse ist ungültig!\n";
    }


    if(
Fehlermeldung
    { 
        
alert(Fehlermeldung); 
        return 
false
    } 
    else 
    { 
        return 
true
    } 

// --> 
</script> 
eingebunden ist das ganz so:
PHP-Code:
<form name="kommentar" action="weitermail.php" method="POST" onSubmit="return EingabenUeberpruefen();"
Danke shonmal für eure Hilfe!
MfG, Andy
__________________
BSc. Applied Computer Science
http://www.bornageek.com

Geändert von Socrates (09.01.2007 um 21:46:28 Uhr)
Mit Zitat antworten
  #2  
Alt 10.01.2007, 09:54:04
Benutzerbild von xabbuh
xabbuh xabbuh ist offline
SELFPHP Guru
 
Registriert seit: May 2003
Beiträge: 7.187
AW: formularfelder überprüfen

Soweit so gut. Und was ist jetzt deine Frage?
Mit Zitat antworten
  #3  
Alt 10.01.2007, 14:55:05
Benutzerbild von Socrates
Socrates Socrates ist offline
Member
 
Registriert seit: Jul 2006
Ort: Göttingen/Deutschland
Alter: 35
Beiträge: 586
AW: formularfelder überprüfen

Mist ok! Klar Frage! Dumm! Ähm...Das Script funktioniert nicht! Wie sich das äußert? Garnicht! Es gibt weder eine Fehlermeldung noch passiert irgendwas wenn ich das Script abschicke! Das Script soll ja eigentlich vor dem abschicken überprüfen ob etwas in den formularfeldern steht bzw ob eine anständige E-Mail Adresse angegeben ist. Es passiert aber wie gesagt nichts! Wäre für eure Hilfe also dankbar, muss irgendein Fehler sein!
MfG, Andy
__________________
BSc. Applied Computer Science
http://www.bornageek.com

Geändert von Socrates (10.01.2007 um 14:56:18 Uhr)
Mit Zitat antworten
  #4  
Alt 10.01.2007, 21:56:34
Dan Dan ist offline
Anfänger
 
Registriert seit: Jul 2003
Beiträge: 44
AW: formularfelder überprüfen

Ok, erstmal die Grundlegenden Fehler:
Das <script> Element sollte kein language-Attribut haben, ausschlaggebend ist nur das type-Attribut:
PHP-Code:
<script type="text/javascript">
[...] 
Wobei ich selbst ausgelagertes JavaScript empfehle.
PHP-Code:
<head>
<
script src="js_datei.js" type="text/javascript"></script>
</head> 
Davon abgesehen solltest du keine HTML-Kommentare innerhalb von Skriptbereichen verwenden, die Browser von vor 12 Jahren stehen nur noch im Museum ;)

Welches HTML verwendest du? Innerhalb von XHTML wäre POST und onSubmit ganz kleingeschrieben, damit es klappt.

Welchen Browser verwendest du? Je nachdem müsste es eine Fehlerkonsole geben, die dir die aktuellen Fehelr anzeigt.

Eventuell solltest du statt mit den name-Attribut mit IDs und getElementById() arbeiten. Das ist sowieso empfehlenswert, da du IDs auch für das überaus tolle <label>Element benötigst.

Ah, eventuell wird der Leerstring in der letzten Abfrage bereits als true ausgewertet und daher false zurückgegeben?
__________________
Lernt nicht nur PHP! Strukturiertes (X)HTML, welches mit modernen Styleysheets gestaltet und zugänglich ist, ist das wichtigste Ziel für das Web. :)

Geändert von Dan (10.01.2007 um 22:01:22 Uhr)
Mit Zitat antworten
  #5  
Alt 11.01.2007, 08:13:49
KTB KTB ist offline
Member
 
Registriert seit: Mar 2006
Alter: 38
Beiträge: 599
AW: formularfelder überprüfen

Ich weiß nicht genau, aber irgendwie sieht mit dieses onSubmit komisch. Nehme da mal das return raus, so dass es so aussieht:

onSubmit="EingabenUeberpruefen();"

Weiterhin kannst du dir die Arbeit nach Fehlern erleichtern indem du mit ausgaben überprüfst wie weit er kommt.
So z.B.:
PHP-Code:
<script language="JavaScript"
<!-- 
function 
EingabenUeberpruefen() 

    
alert('Funktion wird gestartet');
    var 
Fehlermeldung ""
... 
__________________
In der Ruhe liegt die Kraft!

Geändert von KTB (11.01.2007 um 08:14:05 Uhr)
Mit Zitat antworten
  #6  
Alt 11.01.2007, 10:07:00
Dan Dan ist offline
Anfänger
 
Registriert seit: Jul 2003
Beiträge: 44
AW: formularfelder überprüfen

Zitat:
Ich weiß nicht genau, aber irgendwie sieht mit dieses onSubmit komisch. Nehme da mal das return raus, so dass es so aussieht:

onSubmit="EingabenUeberpruefen();"
Nein, das ist falsch. return ist notwendig, da onsubmit true als rückgabewert erwartet, damit das Formular abgesendet wird. In allen anderen Fällen passiert gar nichts.
__________________
Lernt nicht nur PHP! Strukturiertes (X)HTML, welches mit modernen Styleysheets gestaltet und zugänglich ist, ist das wichtigste Ziel für das Web. :)

Geändert von Dan (11.01.2007 um 10:07:58 Uhr)
Mit Zitat antworten
  #7  
Alt 11.01.2007, 11:48:08
Andes Andes ist offline
Member
 
Registriert seit: Jun 2006
Ort: Bayern
Alter: 56
Beiträge: 930
AW: formularfelder überprüfen

Witzbold, wenn du im Script nach Eingabeformular fragst aber dein Formular kommentar heißt. Wie soll dann was funktionieren?
Teste Javascript lieber mit dem FF der spuckt dir wenigstens ordentliche Fehlermeldungen in der Fehlerkonsole aus.
__________________
Grüße Andes

Geändert von Andes (11.01.2007 um 11:49:58 Uhr)
Mit Zitat antworten
  #8  
Alt 11.01.2007, 15:03:27
Benutzerbild von Socrates
Socrates Socrates ist offline
Member
 
Registriert seit: Jul 2006
Ort: Göttingen/Deutschland
Alter: 35
Beiträge: 586
AW: formularfelder überprüfen

OK daran kanns liegen teste ich gleich! Aber selber Witzbold ich benutze nur den FireFox und ich erhalte keine einzige Fehlermeldung!
:-P
MfG,Andy
__________________
BSc. Applied Computer Science
http://www.bornageek.com

Geändert von Socrates (11.01.2007 um 15:04:53 Uhr)
Mit Zitat antworten
  #9  
Alt 11.01.2007, 15:32:07
Benutzerbild von Socrates
Socrates Socrates ist offline
Member
 
Registriert seit: Jul 2006
Ort: Göttingen/Deutschland
Alter: 35
Beiträge: 586
AW: formularfelder überprüfen

Also es funktioniert immer noch nicht! Meine quellcodes sehen so aus:

Das Formular in weiterempfehlen.php:
PHP-Code:
<form name="Kommentar" action="weitermail.php" method="post" onsubmit="return EingabenUeberpruefen();">
<
tr>
<
td valign="top" align="left"><font face="Arial" size="2" color="#e80000"><b>Ihr Name</b></font></td>
<
td valign="top" align="left"><input type ="text" name="ab" size="45"></td>
</
tr>
<
tr>
<
td valign="top" align="left"><font face="Arial" size="2" color="#e80000"><b>Ihre E-Mail Adresse</b></font></td>
<
td valign="top" align="left"><input type ="text" name="abma" size="45"></td>
</
tr>
<
tr>
<
td valign="top" align="left"><font face="Arial" size="2" color="#e80000"><b>Empf&auml;nger E-Mail Adresse</b></font></td>
<
td valign="top" align="left"><input type ="text" name="em" size="45"></td>
</
tr>
<
tr>
<
td valign="top" align="left"><font face="Arial" size="2" color="#e80000"><b>Betreff</b></font></td>
<
td valign="top" align="left"><input type ="text" name="be" size="45"></td>
</
tr>
<
tr>
<
td valign="top" align="left"><font face="Arial" size="2" color="#e80000"><b>Nachricht</b></font></td>
<
td valign="top" align="left"><font face="Arial" size="2" color="#000000"><textarea name"ma" cols="34" rows="5"></textarea></font></td>
</
tr>
<
tr>
<
td valign="top" align="left"></td>
<
td valign="top" align="left"><input type="Submit" value="submit"><input type="reset" value="reset"></td>
</
tr>
</
form
formtest.js:
PHP-Code:
<script type="text/javascript">
<!-- 
function 
EingabenUeberpruefen() 

    var 
Fehlermeldung "";

    if(
document.Kommentar.ab.value == "")
    {
    
Fehlermeldung += "Bitte geben Sie Ihren Namen an!\n";
    }

    if(
document.Kommentar.abma.value == "")
    {
    
Fehlermeldung += "Bitte geben Sie Ihre E-Mailadresse an!\n";
    }

    if(
document.Kommentar.abma.value.match (/^[a-zA-Z0-9_.-]{2,}@[a-z0-9-]{3,}.[a-z]{2,4}|museum$/))
    {
    
Fehlermeldung += "Ihre E-Mailadresse ist ungültig!\n";
    }

    if(
document.Kommentar.em.value == "")
    {
    
Fehlermeldung += "Bitte geben Sie die Empf&auml;nger E-Mailadresse an!\n";
    }

    if(
document.Kommentar.em.value.match (/^[a-zA-Z0-9_.-]{2,}@[a-z0-9-]{3,}.[a-z]{2,4}|museum$/))
    {
    
Fehlermeldung += "Die Empf&auml;nger E-Mailadresse ist ungültig!\n";
    }

    if(
document.Kommentar.be.value == "")
    {
    
Fehlermeldung += "Bitte geben Sie einen Betreff an an!\n";
    }

    if(
document.Kommentar.ma.value == "")
    {
    
Fehlermeldung += "Bitte geben Sie eine Nachricht ein!\n";
    }

    if(
Fehlermeldung)
    {
    
alert(Fehlermeldung);
    return 
false;
    }
    else
    {
    return 
true;
    }
}
// -->
</script> 
Einbindung in weiterempfehlen.php:
PHP-Code:
<head>
<
script src="formtest.js" type="text/javascript"></script>
</head> 
Wie gesagt es funktiniert nichts! Es wird ein Fehler ausgegeben:
Code:
EingabenUeberpruefen is not defined
Also es ist nicht definiert, was ich allerdings nicht verstehe!
HILFE! DANKE!
MfG, ANdy
__________________
BSc. Applied Computer Science
http://www.bornageek.com
Mit Zitat antworten
  #10  
Alt 11.01.2007, 17:50:38
Andes Andes ist offline
Member
 
Registriert seit: Jun 2006
Ort: Bayern
Alter: 56
Beiträge: 930
AW: formularfelder überprüfen

Das Witzbold war nicht so ernst gemeint :o).
Bis auf deine E-Mail Prüfung funktioniert das eigentlich was du jetzt eingestellt hast. Da wird der Fehler vielleicht wo anders liegen. Verwendest du noch mehr Javascript auf der Seite und ist da vielleicht etwas nicht richtig abgeschlossen?

Du hättest eigentlich vorher diese Meldung im FF erhalten müssen.
Fehler: document.Eingabeformular has no properties

Warum hat die Tabelle eigentlich keinen einleitenden und abschließenden table-Tag?

Edit: Bei deiner E-Mail Prüfung ist das @ Zeichen verboten.
__________________
Grüße Andes

Geändert von Andes (11.01.2007 um 17:57:42 Uhr)
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

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
Formularfelder auf ausgefüllt prüfen wischinski PHP Grundlagen 0 31.07.2005 09:56:01
Eingabedaten überprüfen Afrika MySQLi/PDO/(MySQL) 11 22.02.2005 16:08:46
E-Mail Adresse "simpel" überprüfen Wichu PHP Grundlagen 4 04.05.2004 21:42:10
Formularfelder Gweilo PHP Grundlagen 3 21.01.2003 17:38:06
array überprüfen schrempman PHP für Fortgeschrittene und Experten 1 13.01.2003 19:10:18


Alle Zeitangaben in WEZ +2. Es ist jetzt 15:37:37 Uhr.


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


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