Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
problem.php?level=werdwahnsinnig [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
problem.php?level=werdwahnsinnig


 
swamp
07-06-2003, 21:00 
 
HI !

Ok ich geb zu das ich eventuell nicht alle Möglichkeiten ausgeschöpft hab außer die Suchfunktion hier wo ich nix gefunden habe. Vorallem denk ich das das echt ne ganz leichte frage is aber ich find nix und komm selbts nicht dahinter

Ihr könnt mich steinigen aber ich mag nicht mehr suchen sondern frag jetzt einfach.

Also Vorweg. Ich beschäftige mich seid ca 5 tagen mit PHP und kenn mich dementsprechend schlecht aus.

Also ich frage in meinem PHP script
$_GET["newsid"] ab. Den wert erhalte ich natürlich indem ich die Seite mit editnews.php?newsid=<wert> aufrufe.

Wenn ich die seite allerdings ohne parameter aufrufe erhalte ich natürlich eine fehlermeldung weil die Variable nicht initialisiert wurde. Logisch.

Also kann ich vorher schon prüfen ob parameter geliefert wurden ?

 
TobiaZ
07-06-2003, 21:14 
 
isset()

 
Moqui
07-06-2003, 21:34 
 
ich würde dazu noch empty() zur Hilfe nehmen...

weil es kann vielleicht vervig sein, wenn einer die seite so aufruft und keine Inhalte für die Variable mitliefert...

seite.php?newsid=

 
TobiaZ
07-06-2003, 21:38 
 
jupp, kann ganz hilfreich sein. ist die Frage, ob du nur willst, dass PHP korrekt ist, oder ob du die Variable direkt überprüfen willst.

Aber: empty() kannst du auch erst einsetzten, wenn due geprüft hast, ob die variable gesetzt ist.

Codes waren falsch! :D

 
Troublegum
07-06-2003, 21:52 
 
@TobiaZ: Falsch. PHP bricht beim && und || Operator die Untersuchung weiterer Ausdrücke ab, wenn der Wert des gesamten Ausdrucks schon fest steht.

Folgender Code ist absolut gültig und liefert keine Fehlermeldung, wenn $var nicht initiliasiert ist. Wenn isset($var) nämlich false ergibt, ist der gesamte Ausdruck false (da ein logisches Und verwendet wird). Dank && bricht PHP die Überprüfung der weiteren Ausdrücke ab, sodass !empty($var) gar nicht erst ausgeführt wird und gar keine Fehlermeldung liefern kann.
if(isset($var) && !empty($var)) {
// tu was
// liefert KEINE Fehlermeldung
}

 
TobiaZ
07-06-2003, 21:59 
 
f*ck!

Hast recht. die ifs werden ja gar nicht ganz durchgegangen. Ich glaub da hatte ich dann mit etwas anderem als dem oben geposteten probleme.

wollte auch eigentlich nur sagen, dass isset() immer klappt, und empty() nur dann, wenns die auch gibt. -> Beispiel war danebengeriffen.

 
swamp
07-06-2003, 22:25 
 
danke :)


Klappt hervorragend mit dem code.

Super <froi> :) :) :)


if(isset($_GET["newsid"]) && !empty($_GET["newsid"]))
{
if ($_GET["newsid"]>0)
{
echo 'So denn mal ran an speck';
};
};


Ich zwar hab nur das gefühl das ich mir mindestens eine prüfung sparen kann, aber die millisekunde mehr zeit machts nu auch nichtmehr. So oft werden News nu auch nicht editiert ;)

 
TobiaZ
07-06-2003, 22:28 
 
entweder:

if(isset($_GET["newsid"]) && !empty($_GET["newsid"] && $_GET["newsid"]>0))

oder was auch reichen sollte:

if(isset($_GET["newsid"]) && $_GET["newsid"]>0)

 
swamp
07-06-2003, 22:54 
 
jo stimmt ... eigendtlich logisch das so zusammenzufassen

also nochmal danke für die extrem schnelle Hilfe :)

- -

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