Avatar billede fatter_keine Nybegynder
09. april 2003 - 21:25 Der er 22 kommentarer og
2 løsninger

Header already sent

hvorfor virker det her ikke ???

{

$data = mysql_query("select * from bannere where id = '$id'");
$row = mysql_fetch_array($data);


$tjek_banner = mysql_query("SELECT ip FROM ip WHERE ip='$ip' && brugerid='$id'");
if(mysql_num_rows($tjek_banner) == 0){


$ip = $GLOBALS['REMOTE_ADDR'];
$fip = $GLOBALS['HTTP_X_FORWARDED_FOR'];
if (($fip != "") && ($fip != "unknown")) $ip = $fip;
$ip = explode(",", $ip);
$ip = $ip[0];

$hits = $row[hits] - 1;
mysql_query("update bannere set hits = '$hits' where id = '$id'");
$time = time();
mysql_query("insert into ip (ip, brugerid, dato) values ('$ip', '$id','$time')");
}


header("location: http://$row[url]");
exit;

}


Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /customers/dumazz.dk/dumazz.dk/httpd.www/banner.php on line 71

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /banner.php on line 75

Warning: Cannot add header information - headers already sent by (output started at /banner.php:71) in /banner.php on line 91
Avatar billede codebase Praktikant
09. april 2003 - 21:28 #1
fordi $data = mysql_query("select * from bannere where id = '$id'");
er tom, så derfor udskrives en fel i denne line
$row = mysql_fetch_array($data);

.. så kan du ikke bruge header kommandoen


evt.
$data = @mysql_query("select * from bannere where id = '$id'");
$row = @mysql_fetch_array($data);
Avatar billede ztyxx Nybegynder
09. april 2003 - 21:37 #2
eller også har du en eller anden form for output, inden din php querys osv
Avatar billede fatter_keine Nybegynder
09. april 2003 - 21:57 #3
også fejl i denne....

$tjek_banner = mysql_query("SELECT ip FROM ip WHERE ip='$ip' && brugerid='$id'");
if(mysql_num_rows($tjek_banner) == 0){
Avatar billede schaefner Juniormester
09. april 2003 - 21:58 #4
$tjek_banner = mysql_query("SELECT ip FROM ip WHERE ip='$ip' AND brugerid='$id'");
if(mysql_num_rows($tjek_banner) == 0){
Avatar billede fatter_keine Nybegynder
09. april 2003 - 22:02 #5
det er følgende fejl:

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /banner.php on line 75


schaefner> at skifte && ud med AND er ikke fejlen i dette tilfælde...
Avatar billede schaefner Juniormester
09. april 2003 - 22:04 #6
$tjek_banner = mysql_query("SELECT ip FROM ip WHERE ip='$ip' AND brugerid='$id'") or die(mysql_error());
Avatar billede fatter_keine Nybegynder
09. april 2003 - 22:35 #7
No Database Selected, da du jo sætter en DIE ind.... det duer ikke....
Avatar billede schaefner Juniormester
09. april 2003 - 22:36 #8
mysql_connect("","","");
mysql_select_db("database");
Avatar billede schaefner Juniormester
09. april 2003 - 22:36 #9
Du mangler at vælge database som den jo også skriver :)
Avatar billede fatter_keine Nybegynder
09. april 2003 - 22:38 #10
det er den her jeg fatter_keine af:

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in:


$tjek_banner = mysql_query("SELECT ip FROM ip WHERE ip='$ip' && brugerid='$id'");
if(mysql_num_rows($tjek_banner) == 0){
Avatar billede schaefner Juniormester
09. april 2003 - 22:38 #11
mysql_connect("localhost","brugernavn","kodeord");
mysql_select_db("database");
$tjek_banner = mysql_query("SELECT ip FROM ip WHERE ip='$ip' AND brugerid='$id'");
if(mysql_num_rows($tjek_banner) == 0){
Avatar billede schaefner Juniormester
09. april 2003 - 22:39 #12
Indsæt selv de korrekte værdier istedet for brugernavn, kodeord og database.
Avatar billede fatter_keine Nybegynder
09. april 2003 - 23:04 #13
Jeg har allerede en connect..... problemet er den der header already sent...
Avatar billede schaefner Juniormester
09. april 2003 - 23:05 #14
Det kan godt være du har en connect, men har du også valgt hvilken database du vil hente fra?

mysql_select_db("database");
Avatar billede jensbo Nybegynder
09. april 2003 - 23:08 #15
her er problemet : header("location: http://$row[url]");
Det kan man ikke bruge, det skal brues ISTARTEN af dit dokument. Derfor kan du bruge denne istedet.
<meta http-equiv="Refresh" content="0; url=index.php">
index.php er din url.
Det er ikke den fedeste løsning men det virker.
Avatar billede schaefner Juniormester
09. april 2003 - 23:11 #16
jensbo >> Det er er bestemt ingen problemer i at bruge header(); så længe den bruges korrekt og det kan den også i dette tilfælde bare de andre fejl bliver elimineret først.
Avatar billede schaefner Juniormester
09. april 2003 - 23:12 #17
...og nej, det skal heller ikke bruges i starten af dokumentet. Det skal bare bruges før der udskrives noget til brugeren ;)
Avatar billede schaefner Juniormester
09. april 2003 - 23:37 #18
fatter_keine >> Sker der noget?
Avatar billede fatter_keine Nybegynder
10. april 2003 - 09:06 #19
sch> har du et forslag til hvordan det kan skrives ???
Avatar billede schaefner Juniormester
10. april 2003 - 09:54 #20
Der skal ikke nødvendigvis laves noget om - ikke andet end, at du skal indsætte mysql_select_db("database"); efter du har connectet og før du trækker noget udfra databasen. Du får denne fejl:

"Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in:" fordi du ikke har valgt nogen database. Den fejl den udskriver laver så fejl i din header() da der ikke må udskrives noget før den.

Efter jeg bad dig sætte or die(mysql_error()); efter din query fik du jo lige præcis at vide hvad fejlen var - nemlig "No Database Selected" - så derfor har du altså glemt at indsætte mysql_select_db("database"); i dit script.

Prøv nu at indsætte det og se hvad der sker :)

/Jesper Sørensen
Avatar billede ztyxx Nybegynder
10. april 2003 - 10:05 #21
hvis du nu lige smed hele din kode, for hele dokumentet, her, så er det lidt lettere at se den igennem for evt. fejl

alternativt kunne du som det aller første i din fil sætte

<?php
ob_start();
?>

og til aller sidst

<?php
    ob_end_flush();
?>

så skulle du undgå headerfejlene
Avatar billede schaefner Juniormester
10. april 2003 - 20:38 #22
Fik du det til at virke?
Avatar billede fatter_keine Nybegynder
10. april 2003 - 21:07 #23
yes yes...
Avatar billede ztyxx Nybegynder
10. april 2003 - 21:34 #24
takker for point :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester