Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   PHP und logische Verknüpfungen (https://www.delphipraxis.net/40393-php-und-logische-verknuepfungen.html)

Jelly 15. Feb 2005 01:21


PHP und logische Verknüpfungen
 
Also entweder es ist bereits zu spät oder ich vollgepumpt mit Koffein... Ich habe 3 Variablen in PHP: $accept1, $accept2 und $accept3. Die Werte stammen aus einem Webformular, unt können entweder "ok" wenn markiert, oder nichts, wenn leer enthalten...

Ich überprüfe die 3 Variablen mittels
Code:
$accept = ($accept1 == "ok" and $accept2 == "ok") and ($accept3 == "ok") ;
Ich erwarte eigentlich, daß $accept nur dann TRUE enthält, wenn alle 3 Variablen den Wert "ok" enthalten.

Dem ist aber nicht so. Wenn $accept leer ist, enthält $accept trotzdem TRUE, obwohl nur Bedingung 1 und 2 erfüllt sind.

Code:
echo "1: $accept1 
2: $accept2 
3: $accept3 
" ;
$accept = ($accept1 == "ok" and $accept2 == "ok") and ($accept3 == "ok") ;
echo "$accept
" ;
liefert mir
Code:
1: ok
2: ok
3:
1
Also ich bin immer wieder vom PHP Verhalten überrascht. Kein Wunder daß ich PHP wenns nur geht versuch zu meiden.

Was mach ich denn falsch?

bigg 15. Feb 2005 01:25

Re: PHP und logische Verknüpfungen
 
wie werden denn die Werte dem Skript übergeben?

Robert_G 15. Feb 2005 01:28

Re: PHP und logische Verknüpfungen
 
setze mal die Klammern richtig.
Ich denke mal, dass du die erste Klammer und die 2. rechnest. PHP ist ja irgendwo nur eine nicht typsichere Scriptsprache. ;)

Jelly 15. Feb 2005 01:41

Re: PHP und logische Verknüpfungen
 
Jede einzelne Variable belege ich mit

$accept1 = $_POST["accept1"] ;

Die einzelnen Variablen haben ja auch den richtigen Wert.

Das mit den Klammern hab ich auch schon versucht ganz wegzulassen, ohne Änderung. Also bei nur AND Verknüpfungen ist die Klammersetzung im Prinzip ja mal sowas von schnuppe.

bigg 15. Feb 2005 01:55

Re: PHP und logische Verknüpfungen
 
Bei mir funktionierts:

Code:
<?php

$accept1 = "ok";
$accept2 = "k";
$accept3 = "ok";
 
 
$accept = (($accept1 == "ok") and ($accept2 == "ok") and ($accept3 == "ok"));

echo $accept;

?>

Jelly 15. Feb 2005 01:59

Re: PHP und logische Verknüpfungen
 
:wall: Das ist doch echt zum Haareraufen... Ersetz ich das and durch &&, was angeblich laut meinem Buch genau dasselbe bewirkt, klappts.

Ich glaub mein Bandwurm jodelt. http://www.tp-net.lu/delphi-praxis/icon_motz.gif

Jelly 15. Feb 2005 02:00

Re: PHP und logische Verknüpfungen
 
Zitat:

Zitat von bigg
Bei mir funktionierts:

Klappts auch, wenn du $accep2="" zuweist?

bigg 15. Feb 2005 02:02

Re: PHP und logische Verknüpfungen
 
Code:
<?php

$accept1 = "ok";
$accept2 = "";
$accept3 = "ok";
 
 
$accept = (($accept1 == "ok") and ($accept2 == "ok") and ($accept3 == "ok"));

echo $accept;

?>
Gibt nichts aus. Bei mir funktioniert alles.
(PHP 4.3.10)

Jelly 15. Feb 2005 02:10

Re: PHP und logische Verknüpfungen
 
Zitat:

Zitat von bigg
Gibt nichts aus. Bei mir funktioniert alles.
(PHP 4.3.10)

Dein Szenario klappt bei mir auch...

Setz mal
Code:
$accept1="ok";
$accept2="ok";
$accept3="" ;
Das ist die Kombination die mir Probleme machte... Also mittlerweilen bin ich von einem Bug in PHP überzeugt.

bigg 15. Feb 2005 02:12

Re: PHP und logische Verknüpfungen
 
funktioniert ebenfalls. :lol:


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:18 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz