PHP Forum

PHP Forum (http://www.selfphp.de/forum/index.php)
-   PHP Grundlagen (http://www.selfphp.de/forum/forumdisplay.php?f=12)
-   -   Formular geht nicht (http://www.selfphp.de/forum/showthread.php?t=14188)

Hype2002 17.08.2006 08:39:29

AW: Formular geht nicht
 
Hi, ich habe nochmal eine Frage!
ich möchte das ich nur Buchstaben in ein Feld eingeben kann, keine Zahlen, wie mache ich das?

DominikJ 17.08.2006 08:55:20

AW: Formular geht nicht
 
javascript + serverseitige prüfung in php...

oder testen ob dieses funktioniert:
http://www.formhandling.de/anleitung2.php

a - Dies darf nur Buchstaben enthalten. (A-Za-z)
Code:

<input type="text" name="a_name" value="">
Gruß,

DominikJ

Andes 17.08.2006 09:12:05

AW: Formular geht nicht
 
Zitat:

Zitat von DominikJ

oder testen ob dieses funktioniert:
http://www.formhandling.de/anleitung2.php

a - Dies darf nur Buchstaben enthalten. (A-Za-z)
Code:

<input type="text" name="a_name" value="">

Das kann bei ihm nur funktionieren, wenn er den Formmailer der Seite benutzt.

Bei Javascript kannst du mit dem Handler 'onkeydown' auf die Eingabe reagieren und mit match(/[a-zA-Z]/) die Eingabe prüfen.
Ist aber nicht sicher, da man auch den Inhalt in das Feld kopieren kann und darauf würde deine Funktion nicht anspringen.

Bei PHP kannst du preg_match() verwenden.

Hype2002 17.08.2006 16:06:49

AW: Formular geht nicht
 
hi,
wo genau muss ich preg_match() denn eingeben?
kann mir das einer bei meinem code sagen?
PHP-Code:

<html
<
head

<
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"
    } 
    else
   {
        var 
SucheAT document.Eingabeformular.Email.value.indexOf"@");
        if (
SucheAT 2
        {
        
Fehlermeldung += "Bitte geben Sie Ihre E-Mailadresse korrekt an!\n"   
        
}
        else
        {
        var 
SuchePUNKT document.Eingabeformular.Email.value.indexOf".");
                if (
SuchePUNKT SucheAT <= Fehlermeldung += "Bitte geben Sie Ihre E-Mailadresse korrekt an!\n"   
            
}
  }



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

// --> 
</script> 

</head> 
<body> 


<u><b>Bitte geben Sie Ihre Daten ein:</b></u> 

<br> 
<br> 

<form action="test2.php" method="POST" name="Eingabeformular"  onSubmit="return EingabenUeberpruefen();">
Vorname:<br> 
<input name="Vorname"><p> 
Nachname:<br> 
<input name="Nachname"><p> 
E-Mailadresse:<br> 
<input name="Email"><p> 
<input type="Submit" value="  Senden  ">  
<input type="reset" value="  Zur&uuml;cksetzen  "> 

</form> 
</body> 
</html> 

Gruß Andreas

Andes 18.08.2006 13:12:29

AW: Formular geht nicht
 
Da preg_match() PHP ist musst du es auf der Seite einsetzen, die die Formulardaten empfängt.

Hype2002 24.08.2006 10:24:47

AW: Formular geht nicht
 
Hi,
kann man es auch so machen das die prüfung sofort auf der eingabeseite ausgeführt wird?

€dit: hab jetzt variablen gesetzt, funktioniert aber nicht, oder kann man keine variablen mit $_POST[] setzen?
PHP-Code:

$_POST['Vorname'] = $Vorname;
$_POST['Nachname'] = $Nachname


maiskolben 24.08.2006 10:38:31

AW: Formular geht nicht
 
Hi!
Wenn ich mal was anmerken kann...
Ich weiß nicht ob Du einfach so auf die Variablen zugreifen kannst, probiere stattdessen:

PHP-Code:

if (!empty($_POST['vorname'])) {
echo 
"";

   if (!empty(
$_POST['nachname'])) {
   echo 
"";

      if (!empty(
$_POST['email'])) {
      echo 
"";

      } else {
         echo 
"Du hast Deine E-Mail vergessen...";
      
   } else {
      echo 
"Du hast Deinen Nachnamen vergessen...";
  
} else {
  echo 
"Du hast den Vornamen vergessen...";



Hype2002 24.08.2006 10:43:56

AW: Formular geht nicht
 
aber das macht doch nicht viel sinn, oder?
wenn ich jetzt den nachnamen vergessen habe einzugeben wird mir ja sofort angezeigt ich hätte alles vergessen, oder täuche ich mich da?

maiskolben 24.08.2006 10:46:34

AW: Formular geht nicht
 
Ja, Du brauchst se nich zu verschachteln...

[edit: ich merke grad , dass mein Beitrag ein bissle hohl rüberkommt, denn ich bezog mich auf den letzten Beitrag von Seite 1 dieses Threads...]

LG maiskolben ;)

Hype2002 24.08.2006 11:02:15

AW: Formular geht nicht
 
hmm
ich habs bis jetzt so. ich will gerne die variablen zuweisen, was aber nicht funktioniert, muss ich das vielleicht anders schreiben?
PHP-Code:

<?php

$_POST
['Vorname'] = $Vorname;

if (!
preg_match ("/^[0-9a-z]{2,30}$/i"$Vorname)) {
echo 
"Fehler! Ihr Vorname ist ungültig, es sind keine Zahlen erlaubt!";
} else
{
}

echo 
"Sie haben folgendes eingegeben:<br><br>";

echo 
"<b>Vorname: </b>";
echo 
$_POST['Vorname']."\n <br>";
echo 
"<b>Nachname: </b>";
echo 
$_POST['Nachname']."\n <br>";
echo 
"<b>E-Mailadresse: </b>";
echo 
$_POST['Email']."\n </font>";

?>

€dit: Hat sich schon gelöst, ich hatte immernoch Zahlen erlaubt, und deshalb ist nie eine meldung gekommen!


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

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