Lille PHP og Javascript problem

Tags:    php

Hej.
Jeg har denne ganske enkle kode som gerne skulle hente noget data fra databasen som hjælper med at finde ud af hvad siden der skal linkes til hedder.

Fold kodeboks ind/udKode 


Men underligt nok bliver jeg sendt videre til http://www.shafh.dk/blog/kommentar.php?id=
Men der står ikke det til sidst som der burde. Jeg får ingen fejl! Er der nogen der kan se hvad fejlen er?



9 svar postet i denne tråd vises herunder
3 indlæg har modtaget i alt 3 karma
Sorter efter stemmer Sorter efter dato
prøv med

$query2 = mysql_query("SELECT * FROM shafhdk_blogkommentar WHERE id = '$id'");
while($row = mysql_fetch_array($query2)){

$newsid=$row['newsid'];
echo"
<script type='text/javascript'>
window.location.href = 'http://www.shafh.dk/blog/kommentar.php?id=$newsid'
</script>
";
};



Indlæg senest redigeret d. 25.06.2007 19:27 af Bruger #10878
Det er fordi din kode aldrig finder et id!

Din kode skal se således ud: (jeg har ikke testet det så er ikke 100 % sikker)
Fold kodeboks ind/udKode 


Dog vil jeg fortrække at skrive således:
Fold kodeboks ind/udKode 


Koden burde virke sådan her, men der er lige nogle ting du skal tjekke før det kan virke.

1. Er variablen $id gyldig.(du kan teste ved at sætte $id i en echo)
2. Du skal være sikker på at det $id finder findes i databasen
3. at du ikke har lavet nogle stavefejl.



Indlæg senest redigeret d. 25.06.2007 19:32 af Bruger #10980
Dion og Jacob: Hvorfor i alverden skulle han bruge while?

Prøv at se hvor mange rækker der returneres med
mysql_num_rows($query2);

prøv at se om der er fejl i querien med
echo mysql_error();

prøv at se hvad der returneres med
var_dump($row);

Hvorfor er det lige du bruger JavaScript her?? Det eneste du får ud af det er at browserens tilbageknap går i baglås.

Prøv:
Fold kodeboks ind/udKode 


Hmm, jeg ved ikke hvad det er Udvikleren.dk gør ved min kodeblok... Du må selv lige rette "htp" til "http"



Indlæg senest redigeret d. 25.06.2007 20:10 af Bruger #3143
Begge jeres koder virker ikke. Jeg bliver stadig linket til:
til http://www.shafh.dk/blog/kommentar.php?id=

Og jeg skulle da så kraftigt mene min kode vil kunne finde $id.. Hvad er der da galt med det i min kode?



jeg tror ikke den kan lide _ i tabel navnet



Det kan den sagtens. Jeg åbner og lukker denne tabel flere gange på min hjemmeside.



Får disse beskeder da jeg skrev din kode:

Warning: Wrong parameter count for mysql_num_rows() in /customers/shafh.dk/shafh.dk/httpd.www/admin/blogkomdelete.php on line 30
Debugging: Debugging:bool(false)
Warning: Cannot modify header information - headers already sent by (output started at /customers/shafh.dk/shafh.dk/httpd.www/admin/up.php:8) in /customers/shafh.dk/shafh.dk/httpd.www/admin/blogkomdelete.php on line 37



Linje 30 er denne linje:
echo "\\nDebugging:".mysql_num_rows();

Linje 37 er denne linje:
header('Location: htp://www.shafh.dk/blog/kommentar.php?id='.$row['newsid']);

Har aldrig hørt om header før? Har bare kun kendt til at det var muligt i Javascript



Hov, min fejl.

Fold kodeboks ind/udKode 


Men det ser ud til at du allerede har fået nok debuginfo. Der er simpelthen ikke nogen rækker i tabellen med det id du søger efter.



Fuck, i har jo ret. Denne kode er en en del af admin-siden på shafh.dk, og skal bruges til at linke en tilbage til nyheden når man har slettet en kommentar. Men det er jo klart at kommentaren ikke findes når jeg netop har slettet den.

Sletter rækken 3 linjer højere oppe. Pinlig fejl. He he. Men det er fejl jo også oftest :)

Tak for hjælpen



t