php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2005-2

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 05.10.2005, 16:06  
Gast
 
Beiträge: n/a
Standard Problem bei der if-Anweisung

Hallo!

Es geht um folgendes Skript:

(index.php)
PHP-Code:

<!DOCTYPE html PUBLIC
"-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">



<html>


   <head>

      <title>Titel</title>
      
   </head>
   
   
   <body>
   
      <div>

<?php

$user 
"xxxxx";
$pass "xxxxx";
$db "xxxxx";
$host "xxxxx";

$link mysql_connect$host$user$pass );

if( ! 
$link ) {
   die( 
"Konnte Verbindung zur MySQL-Datenbank nicht aufbauen: ".mysql_error() );
}

mysql_select_db$db$link )
   or die ( 
"Konnte $db nicht &ouml;ffnen: ".mysql_error() );

 
?>

<table>

   <tr>
      <td width="15%" bgcolor="#C0C0C0">

<?php

if( ! $_GET['id'] && ! $_GET['page'] ) {
   
$result mysql_query"SELECT navi FROM article where id='1' AND page='1'" );

while (
$line mysql_fetch_array($resultMYSQL_ASSOC)) {
   foreach (
$line as $col_value) {
       echo 
"$col_value";
   }
}

} else if( empty( 
$_GET['id'] ) && ! $_GET['page'] ) {
   
$result mysql_query"SELECT navi FROM article where id='".$_GET['id']."' AND page='1'" );

while (
$line mysql_fetch_array($resultMYSQL_ASSOC)) {
   foreach (
$line as $col_value) {
       echo 
"$col_value";
   }
}

} else if( empty( 
$_GET['id'] ) && empty( $_GET['page'] ) ) {
   
$result mysql_query"SELECT navi FROM article where id='".$_GET['id']."' AND page='".$_GET['page']."'" );

while (
$line mysql_fetch_array($resultMYSQL_ASSOC)) {
   foreach (
$line as $col_value) {
       echo 
"$col_value";
   }
}

} else {
   die( 
"Es trat ein Fehler auf." );
}

?>

      </td>
      <td width="85%" bgcolor="#B0B0B0">

<?php

if( ! $_GET['id'] && ! $_GET['page'] ) {
   
$result mysql_query"SELECT article FROM article where id='1' AND page='1'" );

while (
$line mysql_fetch_array($resultMYSQL_ASSOC)) {
   foreach (
$line as $col_value) {
       echo 
"$col_value";
   }
}

} else if( empty( 
$_GET['id'] ) && ! $_GET['page'] ) {
   
$result mysql_query"SELECT article FROM article where id='".$_GET['id']."' AND page='1'" );

while (
$line mysql_fetch_array($resultMYSQL_ASSOC)) {
   foreach (
$line as $col_value) {
       echo 
"$col_value";
   }
}

} else if( empty( 
$_GET['id'] ) && empty( $_GET['page'] ) ) {
   
$result mysql_query"SELECT article FROM article where id='".$_GET['id']."' AND page='".$_GET['page']."'" );

while (
$line mysql_fetch_array($resultMYSQL_ASSOC)) {
   foreach (
$line as $col_value) {
       echo 
"$col_value";
   }
}

} else {
   die( 
"Es trat ein Fehler auf." );
}

mysql_close$link );

 
?>

      </td>
   </tr>
   
</table>

      </div>
      
   </body>
   
   
</html>
Wenn ich die Seite dann mit dem Link

http://www.meine-hp.de/index.php?id=1

oder

http://www.meine-hp.de/index.php?id=1&page=1

öffne, zeigt mir der Browser dies an:

Zitat:
Es trat ein Fehler auf!

Hei�t: er springt zu else, obwohl er zu einer der else if-Anweisungen springen soll und so wie bei if den Text aus der DB anzeigen soll.

Wo ist der Fehler?

Danke schon einmal im Voraus.
 
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 05.10.2005, 16:09  
Erfahrener Benutzer
 
Registriert seit: 20.01.2005
Beiträge: 1.557
PHP-Kenntnisse:
Fortgeschritten
Buhmann ist zur Zeit noch ein unbeschriebenes Blatt
Buhmann eine Nachricht über ICQ schicken Buhmann eine Nachricht über MSN schicken
Standard

ich verstehe nicht, warum sich php anders verhalten sollte.

Alledings sind deine If-abfragen für mich unverständlich, denn in diesem fall gibt es keinen großen unterschied zwischen empty und !. Beide sind wahr, wenn nichts übergeben wird. und da bei keinem deiner beiden links nichts übergeben wird, verhält php sich richtig.
Buhmann ist offline  
Alt 05.10.2005, 16:13  
Gast
 
Beiträge: n/a
Standard

Danke! Gut, dass es dir mit empty aufgefallen ist! Jetzt funktiniert es perfekt!
 
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine 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
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] Galerie Problem... coraplanet PHP Tipps 2008 4 06.06.2008 13:42
Sessions Problem StephenKing PHP Tipps 2008 3 16.10.2007 08:30
update sql anweisung - problem Mach!N3 PHP Tipps 2006 6 09.09.2006 18:44
datensätze defekt oder problem mit dem einlesen? Ministry Datenbanken 4 06.07.2006 18:42
problem!!! PHP Tipps 2006 6 08.02.2006 11:06
[Erledigt] wieder ein Problem bei phpmailer und smtp PHP Tipps 2006 24 07.02.2006 01:07
[Erledigt] PHP Upload (Master Value/Local Value Problem) PHP-Fortgeschrittene 5 23.11.2004 07:21
[Erledigt] switch anweisung PHP-Fortgeschrittene 9 17.11.2004 16:38
Cookie / localhost / Problem gelöst PHP-Fortgeschrittene 11 02.11.2004 22:41
problem mit SELECT PHP Tipps 2004 10 27.10.2004 16:51
Problem mit alter JavaScript-Funktion woods PHP Tipps 2004 1 13.08.2004 13:34
[Erledigt] Problem mit Timestamp! PHP Tipps 2004 24 08.06.2004 19:51
Login Problem PHP Tipps 2004 4 04.06.2004 18:46
foreach problem mAy^daY PHP Tipps 2004 3 02.06.2004 20:29

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
if ($_get[\'id\', if($_get anweisungen, if($_get[\'page\'] == \'\'), foreach ($line as $col_value) {, \if ($_get[id]\ or else, mysql_query in einer if anweisung, if (!empty($_get[\'id\'])) {, php if anweisung springt immer auf else, if anweisung php emty, http://www.php.de/php-tipps-2005-2/31925-problem-bei-der-if-anweisung.html, $col_value, empty($_get[page]

Alle Zeitangaben in WEZ +2. Es ist jetzt 06:51 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.