PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Zeichenkette prüfen


dash
15.01.2006, 12:23:12
Hi,
ich habe folgende Frage:

Wie prüfe ich eine 4-stellige Zeichenkette, ob diese nur aus Zahlen besteht?
Ich habe versucht mich da irgendwie reinzulesen, aber irgendwie steige ich da nicht ganz durch.
Also ich würde es momentan mit preg_match() versuchen, nur leider verstehe ich die ganzen Zeichenketten als "Suchmuster" bei den Beispielen nicht.

dash

xabbuh
15.01.2006, 12:39:50
Möglich wäre deine Überprüfung auch mit ctype_digit() (http://www.php.net/ctype_digit).

dash
15.01.2006, 12:44:41
Vielen Dank für die schnelle und gute Antwort :)
Die Funktion kannte ich noch gar nicht ;)
Und es klappt wunderbar, danke noch einmal.

feuervogel
15.01.2006, 13:01:11
wie wärs mit is_int() ?

xabbuh
15.01.2006, 13:02:50
wie wärs mit is_int() ?
Bei einer Zeichenkette?

dash
15.01.2006, 14:46:47
So, jetzt habe ich ein anderes Problem.
Und zwar mit Sessions.

Ich habe ein Formular, in dem man verschiedene Sachen eintragen soll. Diese Angaben werden durch eine Funktion geprüft, ob diese auch dem erwarteten Format entsprechen, die dort angegeben wurden.
Wenn nicht, wird eine Variable gesetzt und die Prüffunktion ruft eine weitere Funktion "drawnewformular()" in sich selbst auf, die eben das gleiche Formular anzeigt und die bereits eingegebenen Eingabe übernimmt. Zumindest theoretisch.
Denn diese Übergabe mittels einer Session klappt nicht.

Hier ein Auszug aus dem Quelltext (hier beispielhaft mit der Jahreszahl)

function checkdetails($year, $month, $year, $day, $cat, $text, $source)
{
session_start();
$_session["year"]=$year;
$_session["month"]=$month;
$_session["day"]=$day;
$_session["cat"]=$cat;
$_session["text"]=$text;
$_session["source"]=$source;

...

// wenn $err=1 ist, Fehlerausgabe starten
if ($err==1)
{
drawnewformular($dayerr, $montherr, $yearerr, $texterr, $sourceerr, $err);
}
...
}


function drawnewformular($dayerr, $montherr, $yearerr, $texterr, $sourceerr, $err)
{
session_start();
...
echo '<input name="year" type="text" size="10" maxlength="4" value='. $_session["year"] .'>';
...
}


Vor und nach dem Aufruf der Funktion "drawnewformular" habe ich Zugriff auf die session-Variablen, aber eben nicht in dieser. Wieso?

xabbuh
15.01.2006, 14:56:33
$_SESSION nicht $_session.

dash
15.01.2006, 15:01:02
Ups.
Danke ;)