07. december 2006 - 10:54Der er
43 kommentarer og 1 løsning
tæller igen
hej hvad er der lige galt her <?php //mysql_connect her $mysql_host = 'localhost'; // Host til database $mysql_username = 'admin'; // Brugernavn til database $mysql_password = 'min'; // Kodeord til database $mysql_database = 'count'; // Database
if(!$_COOKIE["tael"]) { mysql_query("UPDATE taeller set hit=hit+1") or die(mysql_error()); setcookie("tael", time()+86400); } else { setcookie("tael", time()+86400); } ?> den siger fejl i linie 8 ___????
Ja ja, men du har ikke lavet en forbindelse til databasen, du har bare oprettet nogle variabler, der indeholder de værdier du skal bruge til at forbinde til databasen.
Hvis du nu har sat nogle linier ind, er det jo efterhånden lidt svært at holde styr på, hvor langt vi er, når du skriver linie 11. Kan du ikke skrive den fulde fejlbeskrivelse og smide koden op igen?
ja ok undskyld nu er har jeg ingen fel men mangler at få vist det tal den skal tælle up ,,, skal jeg connecte databasen igen ? <?php //mysqlconnect her $res = mysql_query("select hit from taeller"); while($data = mysql_fetch_row($res)){ echo $data["hit"]; } ?>
Nej, hvis du ikke lukker connectionen, anvendes den senest åbnede connection i dit query (med mindre du angiver noget andet).
Det du siger er, at den ved ovenstående, ikke skriver dine hits ud? Sæt "or die(mysql_error())" på din query, så du kan se, om du får fejl der. Hvis du ikke gør, så prøv at køre sql'en direkte i din database
Hvis der ikke i forvejen findes en række i den tabel, så sæt en ind, hvor der står 0 i hits. Du opdaterer jo kun posten, du opretter den aldrig, så det er nok der fejlen ligger. Hvis du indsætter en række i tabellen taeller, så skulle det gerne spille. Og ja, det var i phpmyadmin, jeg mente.
ok her er jeg så lidt må tynd is,, jeg opretter en tabel ved navn taeller med et felt feltnavn hit af typen int længde 10 ??? atributter ?? nullværdi ?? standardværdi ?? datalager ??
I den tabel du har oprettet, indsætter du en enkelt post, hvor feltet hit har værdien 0, ellers får du ikke noget ud af dit update-script, den kan jo ikke opdatere ingen poster
det er lige som om der mangler noget for at smide data in i tabellen taeller jeg har et felt ved navn hit men hvordan jeg smider data ind aner jeg ik normalt sker det via scriptet så jeg har ik prøvet at lave en tabel selv endnu
der sker underlige ting heh jeg har har ik rettet i databasen men nu er der en række men så kommer den med en fejl pa siden med undifined index hit i linie 121 som er echo $data["hit"];
Og det er ikke fordi feltet i virkeligheden hedder Hit? Hvis du kører på en Unix eller Linux-server kører du jo case-sensitivt. Du kan evt se hvordan dit array ser ud ved at få det udskrevet med print_r($data);
$res = mysql_query("select hit from taeller")or die(mysql_error()); while($data = mysql_fetch_row($res)) { echo $data["hit"]; } ?> det er hvad der er nu
Du tilføjer jo ikke data nogen steder, her læser du, og i det første du havde, opdaterer du. Jeg har ikke noget bud på, hvorfor du får et "forkert"resultat ud af din søgning, med mindre strukturen i din database ikke stemmer overens med din forespørgsel
jo jo first på siden før http har jeg dette <?php //mysql_connect her $mysql_host = 'localhost'; // Host til database $mysql_username = 'admin'; // Brugernavn til database $mysql_password = 'buller'; // Kodeord til database $mysql_database = 'count'; // Database
if(!isset($_COOKIE["tael"])) { mysql_query("UPDATE taeller set hit=hit+1") or die(mysql_error()); setcookie("tael", time()+86400); } else { setcookie("tael", time()+86400); } ?> og i body har jeg dette <?php //mysqlconnect her
$mysql_host = 'localhost'; // Host til database $mysql_username = 'admin'; // Brugernavn til database $mysql_password = 'buller'; // Kodeord til database $mysql_database = 'count'; // Database
ja jeg bruger update taeller ok jeg kan godt see hvis post er 0 men logisk 0 + 1 = 1 næste 1+1=2 osv ik så skulle det ik virke ? eller skal jeg prøve med noget ala mysql_query(add_post hit=1); eller hvordan
du kan ikke få data ud på den måde fordi du bruger mysql_fetch_row. Hvis du enten ændrer til mysql_fetch_array eller mysql_fetch_assoc kan du bruge echo $data["hit"];
hvis du ikke vil ændre mysql_fetch_row så kan du ændre $data["hit"] til $data[0]
hejsa glem alt tidlige bøvl med tæller, har fundet en tæller der næsten virker heh kun to problemer: undefined variable REMOTE_ADDR linie 24 = $ip = $REMOTE_ADDR; og undefined variable REMOTE_ADDR linie 25 = $where = $PHP_SELF; hvad skal ændrs _?
Ja, hvis du vil kalde variablerne sådan, så skal register globals være slået til, ellers skal du kalde dem ved deres "rigtige navn", $_SERVER["REMOTE_ADDR"] og $_SERVER["PHP_SELF"]
Synes godt om
Ny brugerNybegynder
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.