php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Bewertung: Bewertung: 1 Stimmen, 5,00 durchschnittlich.
  #16 (permalink)  
Alt 08-03-2009, 15:27
php_fussel
 Newbie
Links : Onlinestatus : php_fussel ist offline
Registriert seit: Jan 2009
Beiträge: 120
php_fussel ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ausgangsfrage war gewesen, ob POST-Daten eingetrudelt sind.

Zitat:
Hä?? Also wenn $_POST nicht exisitiert ist etwas gar nicht mehr gut. ;-)
... war nicht gefragt.
Zitat:
Und isset() liefert nen bool'schen Wert zurück, weshalb PHP: if (isset($var)) { ... } völlig ausreicht.
... ja (sag ich doch).
Zitat:
Bei combies Vorschlägen gehe ich mit der mittleren Variante.
... die auch einen bool´schen Wert zurück liefert, genau wie isset!



Zitat:
quote:Original geschrieben von php_fussel Was ist mit der Überprüfung mit 'isset' ... also ob die Variable überhaupt existent ist ... In welchem Zusammenhang? Das braucht man ja eigentlich nur für Array-Einträge[1], so nach dem Schema: isset($array[$key])
... im Zusammenhang, ob Postvariablen eingetrudelt sind. Und mit isset kann ich sehr wohl auch eine "einfache" Variable überprüfen:

PHP-Code:
echo isset($a)? 'gesetzt' 'nicht gesetzt'
Kurzum, ich arbeite im Zusammenhang mit $GET/$POST-Variablen eigentlich nur mit 'isset' und es sind bis dato noch keine Probleme aufgetaucht.

Gruß php_fussel
Mit Zitat antworten
  #17 (permalink)  
Alt 09-03-2009, 13:53
Benutzerbild von fireweasel fireweasel
 Registrierter Benutzer
Links : Onlinestatus : fireweasel ist offline
Registriert seit: Sep 2008
Ort: At home
Beiträge: 851
fireweasel wird schon bald berühmt werdenfireweasel wird schon bald berühmt werden
fireweasel eine Nachricht über AIM schicken fireweasel eine Nachricht über Yahoo! schicken
Standard

Der Thread treibt ab, der Thread treibt ab ... ;-)

Zitat:
Original geschrieben von combie
isset() lügt nicht!
Du hast die Gänsefüßchen um das Wort "lügt" aber schon wahrgenommen?
Ich glaube auch nicht, dass sich isset() durch meine Aussage beleidigt fühlt. ;-)
Nebenbei ist isset() gar keine Funktion ...
Ich liebe das Sprach-Konstrukt "language construct". ;-)

Zitat:
Das Verhalten von isset() ist vollständig dokumentiert.
Das dieses Verhalten irgendwo niedergeschrieben ist, bestreitet ja auch niemand.

Determine whether a variable is set. (auch wenn das zwei Sätze später für den Sonderfall zurückgenommen wird.)

Returns TRUE if var exists; FALSE otherwise.

Die Menge an User-Contributions, in denen um die Wirkungsweise von isset() gestritten wird, spricht auch nicht gerade für eine klare und verständliche Definition.

Zitat:
Da haste aber seltsames gehört!
Bin aber offensichtlich nicht der einzige gewesen ...

Zitat:
<input type="image" name="image[name][]" value="egal" src="btn.jpg" />

Es liefert x und y in einem schönen Array ab. Und beim Firefox sogar noch ein Value dazu. [/B]
Gibts 'nen besonderen Grund, warum du "image[name][]" verwendest? Hätte "image[]" nicht genügt?

Um die Array-Bastelei mit name-Attributen gings mir aber gar nicht. Ich meinte die Angewohnheit, bei Keys den Punkt '.' (und möglicherweise noch weitere Zeichen) in einen
Unterstrich '_' zwangsumzuwandeln
, wenn er in bestimmten superglobalen Arrays (wie _POST oder _GET) auftaucht.
Dieses Verhalten soll mit der Komplettabschaffung des Register-Globals-Unfugs mit
verschwinden. Probier mal folgendes Affenformular aus:

PHP-Code:
?>
<form action="" method="post">
  <input name="pos.x" value="" />
  <input type="submit" />
</form>
<?php

var_dump
($_POST);
Bei mir liefert var_dump() dann sowas:
PHP-Code:
array(1) {
  [
"pos_x"]=>
  
string(0""

Aus "pos.x" wird "pos_x".

--

Zitat:
Original geschrieben von h3ll
... Weil du es falsch verwendest.
Wer sagt denn, das ICH es so verwenden würde ...?

Zitat:
Wenn du prüfen willst, ob ein Array-Schlüssel vorhanden ist, nimm array_key_exists().
Und was macht man, wenn man array_key_exists() nicht benutzen kann?
PHP-Code:
$var NULL;
echo isset(
$var) ? 'gesetzt' 'nicht gesetzt'
*edit:* die schließende Klammer geradegerückt, damit der|die|das fussel sich wieder einkriegt ... ;-)

Tolle Einstiegsgehälter in deinem kleinen Beispiel-Unternehmen übrigens ...

Geändert von fireweasel (09-03-2009 um 17:24 Uhr)
Mit Zitat antworten
  #18 (permalink)  
Alt 09-03-2009, 14:16
combie
 PHP Expert
Links : Onlinestatus : combie ist offline
Registriert seit: May 2006
Beiträge: 3.296
combie wird schon bald berühmt werden
Standard

Zitat:
Gibts 'nen besonderen Grund, warum du "image[name][]" verwendest? Hätte "image[]" nicht genügt?
Ein ImageButton kommt selten alleine!
So kann man mit array_keys() puupen einfach an den Namen kommen.


Nach
$var = NULL;

Liefert
isset($var)
False! Ja!
Aber welche Relevanz hat das in der prakischen Anwendung?

Keine!
Mir ist zumindest keine einzige bekannt. Kann mir auch keine Situation vorstellen in der das von interesse sein könnte. Nenn mir eine....
__________________
Wir werden alle sterben

Geändert von combie (09-03-2009 um 14:32 Uhr)
Mit Zitat antworten
  #19 (permalink)  
Alt 09-03-2009, 14:34
php_fussel
 Newbie
Links : Onlinestatus : php_fussel ist offline
Registriert seit: Jan 2009
Beiträge: 120
php_fussel ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
PHP-Code:
$var NULL
echo isset(
$var 'gesetzt' 'nicht gesetzt'); 
... was soll da raus kommen? Das sehe ich jetzt schon zum 2. mal hier ... das ist falsche Syntax und funktioniert nicht! Nur die Bedingung/ Conditional wird in Klammern gesetzt ...
PHP-Code:
$var NULL
echo isset(
$var)? 'gesetzt' 'nicht gesetzt'
Gruß php_fussel


p.s.: Sorry, dass ich nerve, aber ich will meinen 'newbie'-Status loswerden!
Mit Zitat antworten
  #20 (permalink)  
Alt 09-03-2009, 14:35
h3ll
 Registrierter Benutzer
Links : Onlinestatus : h3ll ist offline
Registriert seit: Mar 2008
Beiträge: 3.576
h3ll befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Original geschrieben von fireweasel
Und was macht man, wenn man array_key_exists() nicht benutzen kann?
Wann ist das der Fall?
Mit Zitat antworten
  #21 (permalink)  
Alt 09-03-2009, 14:41
PHP-Desaster
 PHP Expert
Links : Onlinestatus : PHP-Desaster ist offline
Registriert seit: Mar 2006
Beiträge: 3.105
PHP-Desaster befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
p.s.: Sorry, dass ich nerve, aber ich will meinen 'newbie'-Status loswerden!
Unterlasse doch bitte Sinnlos-Postings, nur um den Zähler hochzusetzen. Wir wollen uns noch das bisschen Niveau hier aufrechterhalten (Nicht dieser Thread, das Forum an sich).
Mit Zitat antworten
  #22 (permalink)  
Alt 09-03-2009, 17:41
Benutzerbild von fireweasel fireweasel
 Registrierter Benutzer
Links : Onlinestatus : fireweasel ist offline
Registriert seit: Sep 2008
Ort: At home
Beiträge: 851
fireweasel wird schon bald berühmt werdenfireweasel wird schon bald berühmt werden
fireweasel eine Nachricht über AIM schicken fireweasel eine Nachricht über Yahoo! schicken
Standard

Zitat:
Original geschrieben von combie
Ein ImageButton kommt selten alleine!
So kann man mit array_keys() puupen einfach an den Namen kommen.
Aha, das ist mal eine Technik, die PHP anderen Server-Sprachen voraus hat!
Allerdings ist mir das Verb "puupen" nicht so geläufig.

Zitat:
...
$var = NULL;
...
isset($var)
...
Aber welche Relevanz hat das in der prakischen Anwendung?
Okay, ich geb auf ... ;-)

--

Zitat:
Original geschrieben von h3ll
Wann ist das der Fall?
Scroll mal ein bisschen hoch, dann siehst du's.
(Als kleiner Tipp: PHP kennt neben Arrays auch noch Skalare und Objekte.)
Mit Zitat antworten
  #23 (permalink)  
Alt 09-03-2009, 19:07
phpguru42
 Newbie
Links : Onlinestatus : phpguru42 ist offline
Registriert seit: Oct 2008
Beiträge: 71
phpguru42 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von combie
$var = NULL;

Liefert
isset($var)
False! Ja!
Aber welche Relevanz hat das in der prakischen Anwendung?

Keine!
Mir ist zumindest keine einzige bekannt. Kann mir auch keine Situation vorstellen in der das von interesse sein könnte. Nenn mir eine....
Naja, in Zusammenhang mit Datenbanken können schon mal NULL-Werte auftauchen.
Also:
SELECT * FROM ...
$row = mysql_fetch_assoc(...
if(isset($row['feld_mit_null_wert'])

Bitte das Beispiel nicht auf die Goldwaage legen, jedenfalls bin ich im DB-Kontext schonmal in die isset-Falle getappt ...
Mit Zitat antworten
  #24 (permalink)  
Alt 09-03-2009, 19:55
h3ll
 Registrierter Benutzer
Links : Onlinestatus : h3ll ist offline
Registriert seit: Mar 2008
Beiträge: 3.576
h3ll befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Original geschrieben von phpguru42
Naja, in Zusammenhang mit Datenbanken können schon mal NULL-Werte auftauchen.
Also:
SELECT * FROM ...
$row = mysql_fetch_assoc(...
if(isset($row['feld_mit_null_wert'])

Bitte das Beispiel nicht auf die Goldwaage legen, jedenfalls bin ich im DB-Kontext schonmal in die isset-Falle getappt ...
PHP liefert bei MySQL immer Strings. NULL wird in '' umgewandelt, was widerum von isset() als true ausgewertet wird.
Mit Zitat antworten
  #25 (permalink)  
Alt 09-03-2009, 20:06
h3ll
 Registrierter Benutzer
Links : Onlinestatus : h3ll ist offline
Registriert seit: Mar 2008
Beiträge: 3.576
h3ll befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Original geschrieben von fireweasel
Scroll mal ein bisschen hoch, dann siehst du's.
(Als kleiner Tipp: PHP kennt neben Arrays auch noch Skalare und Objekte.)
PHP-Code:
class foo {
    public 
$bar NULL;
}

$foo = new foo();

var_dump(array_key_exists('bar', (array)$foo));
// bool(true) 
Mit Zitat antworten
  #26 (permalink)  
Alt 09-03-2009, 21:05
combie
 PHP Expert
Links : Onlinestatus : combie ist offline
Registriert seit: May 2006
Beiträge: 3.296
combie wird schon bald berühmt werden
Standard

Zitat:
Original geschrieben von phpguru42
Naja, in Zusammenhang mit Datenbanken können schon mal NULL-Werte auftauchen.
Also:
SELECT * FROM ...
$row = mysql_fetch_assoc(...
if(isset($row['feld_mit_null_wert'])

Bitte das Beispiel nicht auf die Goldwaage legen, jedenfalls bin ich im DB-Kontext schonmal in die isset-Falle getappt ...
Bei einem SELECT bla ....
frage ich doch nie nach isset($row['bla']) !!
Das wäre doch unlogisch hoch 10
Nein, das hat keine Praxisrelevanz.

Und noch nie hat es mich angeschriehen, auch wenn NULL Werte in der DB vorhanden waren

PHP Null !== SQL Null
__________________
Wir werden alle sterben
Mit Zitat antworten
  #27 (permalink)  
Alt 10-03-2009, 00:29
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Original geschrieben von h3ll
PHP liefert bei MySQL immer Strings. NULL wird in '' umgewandelt
Nein, siehe bspw. Beschreibung von mysql_fetch_assoc:
Zitat:
Note: This function sets NULL fields to the PHP NULL value.
Zitat:
Original geschrieben von combie
PHP Null !== SQL Null
Na ja, in dem Falle aber irgendwie schon.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #28 (permalink)  
Alt 10-03-2009, 09:58
Benutzerbild von fireweasel fireweasel
 Registrierter Benutzer
Links : Onlinestatus : fireweasel ist offline
Registriert seit: Sep 2008
Ort: At home
Beiträge: 851
fireweasel wird schon bald berühmt werdenfireweasel wird schon bald berühmt werden
fireweasel eine Nachricht über AIM schicken fireweasel eine Nachricht über Yahoo! schicken
Standard

Zitat:
Original geschrieben von h3ll
PHP liefert bei MySQL immer Strings. NULL wird in '' umgewandelt, was widerum von isset() als true ausgewertet wird.
Da ich bei Datenbank-Kontext nicht automatisch an MySQL denke, habe ich probeweise
sqlite_fetch_array() getestet. Das liefert NULL als NULL. Das erscheint auch (zumindest mir) logischer, als einen Leerstring zurückzuliefern, weil beides sich doch irgendwie unterscheidet.

Zitat:
PHP-Code:
class foo {
    public 
$bar NULL;
}
$foo = new foo();

var_dump(array_key_exists('bar', (array)$foo));
// bool(true) 
Wahaaa, und ich dachte, ich wäre hier der Korinthenkacker!
++$x : 0 für dich!
Aber eigentlich hatte ich ja schon aufgegeben ...
Mit Zitat antworten
  #29 (permalink)  
Alt 10-03-2009, 11:17
phpguru42
 Newbie
Links : Onlinestatus : phpguru42 ist offline
Registriert seit: Oct 2008
Beiträge: 71
phpguru42 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von combie
Bei einem SELECT bla ....
frage ich doch nie nach isset($row['bla']) !!
Bei einem SELECT * kann ich aber nach isset($row['bla']) fragen!

PS: Bitte jetzt keine Diskussion anfangen, dass SELECT * böse ist und man alle benötigten Felder angeben sollte.
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

PHP Server Monitor

PHP Server Monitor ist ein Skript, das prüft, ob Ihre Websites und Server betriebsbereit sind.

11.09.2018 Berni | Kategorie: PHP/ Security
PHP WEB STATISTIK ansehen PHP WEB STATISTIK

Die PHP Web Statistik bietet Ihnen ein einfach zu konfigurierendes Script zur Aufzeichnung und grafischen und textuellen Auswertung der Besuchern Ihrer Webseite. Folgende zeitlichen Module sind verfügbar: Jahr, Monat, Tag, Wochentag, Stunde Folgende son

28.08.2018 phpwebstat | Kategorie: PHP/ Counter
Affilinator - Affilinet XML Produktlisten Skript

Die Affilinator Affilinet XML Edition ist ein vollautomatisches Skript zum einlesen und darstellen der Affili.net (Partnerprogramm Netzwerk) Produktlisten und Produktdaten. Im Grunde gibt der Webmaster seine Affilinet PartnerID ein und hat dann unmittelb

27.08.2018 freefrank@ | Kategorie: PHP/ Partnerprogramme
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 04:25 Uhr.