Ik heb een klein script geschreven om te kijken of een ip bestaat in de database, en zoniet te updaten, nu begon ik met gewoon simpel if else statement voor de pagina,s en nu wil ik de num_rows echoen naar het scherm om te kijken of het werkt, en dan weergeeft hij NIKS, ook als ik iets anders echo bijv. Blaaaat dan geeft hij ook geen output hoe kan dat?

Dit is de code:

<?php
# start if else statement

if($_GET['id'] == 'index')
{
include ("content/inc_index.php");
$activepage = "index";
}

elseif($_GET['id'] == 'wzw')
{
include ("content/inc_wzw.php");
$activepage = "wzw";
}

elseif($_GET['id'] == 'apparatuur')
{
include ("content/inc_apparatuur.php");
$activepage = "apparatuur";
}

elseif($_GET['id'] == 'media')
{
include ("content/inc_media.php");
$activepage = "media";
}

elseif($_GET['id'] == 'contact')
{
include ("content/inc_contact.php");
$activepage = "contact";
}
else
{
include ("content/inc_index.php");
$activepage = "default";

# checken of ip in de database staat.
$sql_host = "localhost";
$sql_username = "starlight";
$sql_password = "mijnpw";
$sql_db = "starlight";
$sql_updateteller = "SELECT * FROM `iplog` WHERE ip='".$_SERVER['REMOTE_ADDR']."'";

$sql_connect = mysql_connect($sql_host,$sql_username,$sql_password) or die(mysql_error());
$sql_select_db = mysql_select_db($sql_db,$sql_connect) or die(mysql_error());
$sql_data = mysql_query($sql_updateteller) or die(mysql_error());
$sql_results = mysql_fetch_array($sql_data) or die(mysql_error());
$sql_num_rows = mysql_num_rows($sql_data) or die(mysql_error());

echo ("Test Test waarom zie ik niks?");

}

# end of if else statement


?>

Klopt het dat die sql-code in het else-gedeelte van je if-statement staat? Als ik naar de indentatie kijk, lijkt het erop dat je je if-else verkeerd hebt afgesloten...
Je echo staat binnen een else, dus als je niets ziet is een van de elseif's uitgevoerd.
Great minds think alike ;-)
ja daar heb ik hem ingezet want als ik hem na het if-else statement zet dan geeft hij ook niks weer, dus ik denk nou is kijken wat hij doet als ik het zo doe,, en btw als ik error_reporting(E_ALL); bovenaan mijn scherm zet krijg ik deze meldingen:


Notice: Undefined index: id in F:\xampp\xampp\htdocs\starlight\php\index.php on line 5

Notice: Undefined index: id in F:\xampp\xampp\htdocs\starlight\php\index.php on line 11

Notice: Undefined index: id in F:\xampp\xampp\htdocs\starlight\php\index.php on line 17

Notice: Undefined index: id in F:\xampp\xampp\htdocs\starlight\php\index.php on line 23

Notice: Undefined index: id in F:\xampp\xampp\htdocs\starlight\php\index.php on line 29

nee want ik open hem ZONDER een variabel mee te geven, en dan gaat hij naar else, en het maakt niks uit als ik hem buiten de if else zet, dan weergeeft hij ook niks..
en als je die echo zonder haakjes gebruikt?

Die warnings krijg je omdat je de variabelen niet geinitialiseerd hebt.
ah oke, maar dat geeft verder niks toch? als ik haakjes weg haal, werkt het nog steeds niet
$id = array_key_exists('id',$_GET) ? $_GET['id'] : '';

Vervolgens in je if-else structuur elke $_GET['id'] vervangen door $id. Dat is ook nog eens sneller, omdat PHP dan niet iedere keer $_GET hoeft te dereferencen.
Vervang die dat hele ifelse verhaal eens door een switch.

dus:

<?php
switch( $_GET['id'] )
{
case 'blaat1':
break;
case 'blaat2':
break;
case 'blaat3':
break;
default:
echo '$_GET[\'id\'] is niet gelijk aan blaat1 t/m 3';

}



?>
ik had hiervoor een switch gebruikt dat werkte ook niet, maar dit werkt dus ook niet... vreemd he?

Reageren