webForumDet fria alternativet
Logga in / Bli medlem

$_GET-problem

PHP

4 svar · 270 visningar · startad av kalleklätter

Medlem sedan apr. 200354 inlägg
Trådstart#1

Tjabba...
Jag får detta felmeddelande....

Notice: Undefined index: page in c:\inetpub\wwwroot\test\index.php on line 42 (vilket är första php-raden)


<?php
if ($_GET['page'] == ''){
$page='1';
}else{
$page=$_GET['page'];
}
	
$result = mysql_query("SELECT Name, Text FROM info WHERE ID='".$page."'");
$row = mysql_num_rows($result); 
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)){
$rb = "$row[Text]"; // lagra text i variabeln rb (radbrytning)
	echo "<b>$row[Name]</b><br><br>";
	echo nl2br($rb);
	 }
	?>

Så här ser sen anropet ut för varje länk...

"a href="index.php?page=2">

o.s.v...och det funkar...

det jag försöker göra är att när man går in på sidan första gången skall "page" få värdet 1 vilket innebär att den skiver ut en rad från en databas som har ID 1...det funkar när jag klickar på länkarna (d.v.s när ID = 4, etc...)...men när man går in på sidan 1:a gången så verkar inte värdet 1 läggas in på page... =(

vad beror detta på?

Medlem sedan mars 20007 896 inlägg
#2

Testa:

if( !isset( $_GET[ 'page' ] ) || $_GET[ 'page' ] == '' ) {
$page = 1;
}
...
Medlem sedan apr. 200354 inlägg
#3

funkade kanon. =)
varför funkade det inte som jag skrivit innan?

Medlem sedan mars 20007 896 inlägg
#4

För att PHP känner inte igen nyckeln till arrayen, vilket inte är så konstigt eftersom att den inte är satt. Med funktionen isset() kontrollerar du om den verkligen finns.

Samma sak som med:

<?php
if( $gubbe == '' ) {
...
} else {
...
}

Ovanstående ger samma notis som du fick, eftersom att variabeln 'gubbe' inte existerar. Lägg till en kontroll med isset() så fungerar det:

if( !isset( $gubbe ) || $gubbe == '' ) {
...
} else {
...
}
Medlem sedan apr. 200354 inlägg
#5

awesome. =)

260 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
126 ms — deklarationer (db)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)
127 ms — ändringar (db)