![]() |
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:
Ich erwarte eigentlich, daß $accept nur dann TRUE enthält, wenn alle 3 Variablen den Wert "ok" enthalten.
$accept = ($accept1 == "ok" and $accept2 == "ok") and ($accept3 == "ok") ;
Dem ist aber nicht so. Wenn $accept leer ist, enthält $accept trotzdem TRUE, obwohl nur Bedingung 1 und 2 erfüllt sind.
Code:
liefert mir
echo "1: $accept1
2: $accept2 3: $accept3 " ; $accept = ($accept1 == "ok" and $accept2 == "ok") and ($accept3 == "ok") ; echo "$accept " ;
Code:
Also ich bin immer wieder vom PHP Verhalten überrascht. Kein Wunder daß ich PHP wenns nur geht versuch zu meiden.
1: ok
2: ok 3: 1 Was mach ich denn falsch? |
Re: PHP und logische Verknüpfungen
wie werden denn die Werte dem Skript übergeben?
|
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. ;) |
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. |
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; ?> |
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. ![]() |
Re: PHP und logische Verknüpfungen
Zitat:
|
Re: PHP und logische Verknüpfungen
Code:
Gibt nichts aus. Bei mir funktioniert alles.
<?php
$accept1 = "ok"; $accept2 = ""; $accept3 = "ok"; $accept = (($accept1 == "ok") and ($accept2 == "ok") and ($accept3 == "ok")); echo $accept; ?> (PHP 4.3.10) |
Re: PHP und logische Verknüpfungen
Zitat:
Setz mal
Code:
Das ist die Kombination die mir Probleme machte... Also mittlerweilen bin ich von einem Bug in PHP überzeugt.
$accept1="ok";
$accept2="ok"; $accept3="" ; |
Re: PHP und logische Verknüpfungen
funktioniert ebenfalls. :lol:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:18 Uhr. |
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