• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

accept-charset in Formularen

Status
Für weitere Antworten geschlossen.

Gorbs

Neues Mitglied
Hallo
Ich habe ein Problem mit meinen Zeichensätzen.
Ich möchte mein html Formular gerne auf die Zeichen A-Z a-z und 0-9 begrenzen.

Wie kann ich das machen?
Welcher Zeichensatz für 'accept-charset' wäre das?

thx für eure Antworten.
 
Werbung:
das geht schonmal nicht mit html.
Sondern mit php.
Wie das geht weiß ich leider nicht, weil ich gerade diesen Teil lerne.
Guck mal bei selfphp oder google mal.
 
Also du kannst den übergebenen String mit hilfe regulärer ausdrücke auf diese zeichen prücken.

[php:1:638128e07f]<?php
if(preg_match('/^[a-zA-Z0-9]$/', $string))
{
//...
}
?>[/php:1:638128e07f]


EDIT: JS lösung:
Code:
if(string.match(/^[a-zA-Z0-9]$/))
{
 //...
}
 
Werbung:
Hallo?!?!

Wir sin hier im HTML Forum, dass heist nicht dass die kein PHP können aber großteisl wahrscheinlich ned!!!

Also wären JS lösungen wahrscheinlich auch besser...
 
Mir ist die php lösung um einiges Lieber ;-)
Mit Java-Script habe ich mich nie auseinander gesetzt.

vielen dank
 
Werbung:
ich habe versucht das einzubauen.

Aber das hilft mir doch irgendwie nicht weiter.

Ich habe ein Formular und möchte die Eingabe auf Buchstaben(ohne umlaute und ß) und Zahlen begrenzen.

Das preg_match überprüft doch meines Wissens nur, ob die Zeichen in dem String enthalten sind oder nicht.
 
'/^[a-zA-Z0-9]$/' <-- das ist der sognannte pattern. das suchmuster auf das der string hin überprüft wird.

/ <-- anfang bzw. ende des musters.
^ <-- muss anfang der string sein
$ <-- muss ende des strings sein
[] <-- erlaubte zeichen
a-z <-- kleinbuchstaben
A-Z <-- großbuchstaben
0-9 <-- zahlen

wenn bedingungen des musters erfüllt sind return true.

also macht es genau das was du willst wenn du es mit einer if konstruktion zusmmensetzt
.
 
dann bin ich zu blöd dazu :-(



Code:
if(preg_match('/^[a-zA-Z0-9]$/', $nick))
{ 	
mysql_query ("INSERT INTO omega_user (`Name`, `Passwort`, `E-Mail`) VALUES ('$nick', '$pw', '$mail')");

echo "
<html>

<head>
<meta name='autor' content='Lennart Werner'>
<meta http-equiv='refresh' content='5; URL=./index.php'>
<link rel='stylesheet' type='text/css' href='../../css/main.css'>
</head>

<body>

<center>
[b] Ihre Regestrierung war erfolgreich!

Herzlich Willkommen bei WarWorld, $nick. 

Sie k&ouml;nnen sich nun &uuml;ber die Startseite anmelden.
 [/b]
</center>
</body>
</html>
";
}else{
echo "
<html>

<head>
<meta name='autor' content='Lennart Werner'>
<meta http-equiv='refresh' content='3; URL=./index.php?action=anmeldung'>
<link rel='stylesheet' type='text/css' href='../../css/main.css'>
</head>

<body>

<center>
[b]Bitte verwenden sie nur die Zeichen a-z A-Z und 0-9. [/b]
</center>
</body>
</html>
";

Als $nick wurde Gorbs32 angegeben.
--->Bitte verwenden sie nur die Zeichen a-z A-Z und 0-9.
 
Werbung:
exsistiert nick den bereits wenn du diese abfrage machst?
das sollte nämlich nur geschene wenn es auch wirklich exsistiert sonnst kriegts du ja immer false. was passiert denn ungewolltes?
 
ja, ich bekomme die Variablen $nick $pw und $mail aus dem Formular.

Er gibt immer "Bitte verwenden sie nur die Zeichen a-z A-Z und 0-9. "
(also false) aus.

Auch wenn $nick==Gorbs2, was ja der Vorgabe entspricht.
 
auf mit post gesendetet variablen kannst du nicht einfach mit ihrem namen zugreifen das musst du so machen:

$_POST['variablen_name']

bei get ist es dann:

$_GET
 
Werbung:
if(preg_match('/^[a-zA-Z0-9]+$/', $_POST['nick']))

sorry meinfehler so muss es sein.
 
Werbung:
Hab aber noch ein Problem :oops:

Wollte bei einer Eingabe überprüfen, ob sie nur aus Zahlen besteht.

Code:
if(preg_match('/^[0-9]$/', $_POST['zahl'])) 
{

daraufhin nahm er nur die Zahlen an, die kleiner als 9 waren.
Habe also versucht es zu verbessern:

Code:
if(preg_match('/^[0-9999]$/', $_POST['zahl'])) 
{
Diese änderung hat allerdignszu keiner Verbesserung feührt.
 
Werbung:
Status
Für weitere Antworten geschlossen.
Zurück
Oben