PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : mehrere $_GET Methoden



byron1778
26-01-2006, 13:04
Hallo Forum,

ich habe bei folgendem Script ein Problem.

Ich habe im ersten Script mehrere Pflichtfelder, die ausgefüllt werden müssen, und diese Pflichtfelder sollen nun in einem anderen Script abgefragt werden mit den $_GET Methoden.

So sieht mein Code aus.

if(! isset ( $_GET['NotesID'] && $_GET['IP'] && $_GET['Name'])) {

print '<h1>Pflichtfelder sind nicht gef&uuml;llt</h1>';

}

else {

print '<h1 align="center"><font color="#FF0000">Achtung Pflichtfelder sind gefuellt</font></h1>';

print '<h1 align="center"><a href="http://localhost/index.php">Zur&uuml;ck zur Eingabe</a></h1>';

}

Sobald ich meine Daten eingegeben habe, erscheint aber gar nichts.

Nehme ich dann alle $_GET Methoden bis auf die $_GET['NotesID'] heraus, so funkt es plötzlich.

Wie kann das möglich sein?

Ist es vielleicht nicht möglich, mehrere $_GET zu verschachteln oder wende ich das && einfach falsch an?

Wenn mir jemand weiterhelfen könnte bitte.

Danke und mfg
Byron

quinte17
26-01-2006, 13:12
if(!(isset($_GET['NotesID']) && isset($_GET['IP']) && isset($_GET['Name'])) {
// if(! isset ( $_GET['NotesID'] && $_GET['IP'] && $_GET['Name'])) {

print '<h1>Pflichtfelder sind nicht gef&uuml;llt</h1>';

}

else {

print '<h1 align="center"><font color="#FF0000">Achtung Pflichtfelder sind gefuellt</font></h1>';

print '<h1 align="center"><a href="http://localhost/index.php">Zur&uuml;ck zur Eingabe</a></h1>';

}

Turbohummel
26-01-2006, 13:39
Ich würde eine zusätzliche Prüfung machen, ob in dem Feld auch was drinsteht. Sonst kann das bei Datenbankzugriffen zu Problemen führen.

byron1778
26-01-2006, 13:42
Danke vielmals

Es funktioniert perfekt.

Mfg
Byron

byron1778
27-01-2006, 09:34
Wenn man ein isset($_GET['IP']) ausführt, überprüft man damit nicht schon automatisch, ob etwas drinnen steht?

Wenn dem nicht so ist, mit welchem Befehl kann man es überprüfen, ob im $_GET['IP'] etwas drinnen steht?

Mfg
Byron

quinte17
27-01-2006, 10:18
http://de3.php.net/manual/de/function.sizeof.php

byron1778
27-01-2006, 12:15
Hallo,

ich habe mein Script umgeschrieben und prüfe ob die einzelnen Felder leer sind, aber sobald ich schon ein Feld ausfülle, sagt er im 2ten Script bei der Überprüfung, dass die Felder belegt sind und somit alles in Ordnung sei!
Aber erst wenn alle 3 Felder wirklich belegt sind, soll er sagen, dass es stimmt!

So sieht das 2te Script aus:

if(!(empty($_GET['NotesID']) && empty($_GET['IP']) && empty($_GET['Port']))) {


print '<h1 align="center"><font color="FF#0000">Pflichtfelder sind gef&uuml;llt</font></h1>';

}

else {

print '<h1 align="center"><font color="#FF0000"> Pflichtfelder sind nicht gefuellt</font></h1>';
print '<h1 align="center"><a href="http://localhost/index.php">Zur&uuml;ck zur Eingabe</a></h1>';

}

?>

byron1778
27-01-2006, 12:20
Ich antworte mir selber.

Habe meinen Fehler schon gefunden.

So muss der richtige Code aussehen.

if(!(empty($_GET['NotesID'])) && !(empty($_GET['IP'])) && !(empty($_GET['Port']))) { .....

quinte17
27-01-2006, 17:14
dein konstrukt
!(...) && !(...) && !(...)

ist gleichwertig mit
!(... && ... && ...)

ich hatte im oberen post leider nur hinten eine klammer vergessen... sry
greetz

Romanday
27-01-2006, 17:56
Ich antworte mir selber.

Habe meinen Fehler schon gefunden.

So muss der richtige Code aussehen.

if(!(empty($_GET['NotesID'])) && !(empty($_GET['IP'])) && !(empty($_GET['Port']))) { .....



// übersichtlicher geht es mit ...
//
if(
!(empty($_GET['NotesID'])) && // Kommentar I
!(empty($_GET['IP'])) && // Kommentar II
!(empty($_GET['Port']))
) {
echo 'Bla';
}