Scix Skrevet 29. mai 2005 Del Skrevet 29. mai 2005 (endret) <? switch ($_POST['do']) { case "": form(); comments(); break; case "1": $art = $_POST['art']; $name = $_POST['name']; $comment = $_POST['comment']; add_comment($art, $name, $comment); break; } function form() { echo "<form action='comment.php' method='post'>\n" ."<label for='name'>Navn</label><br />\n" ."<input type='text' name='name' /><br />\n" ."<label for='comment'>Komentar</label><br />\n" ."<textarea cols='50' rows='5' name='comment'>\n" ."</textarea><br />\n" ."<input type='hidden' name='do' value='1' />\n" ."<input type='hidden' name='art' value='" . $_GET['art'] . "' />\n" ."<input type='submit' value='submit' />\n<br />\n" ."</form><br />\n"; } function comments() { $sql = "SELECT * FROM `prog_comment` WHERE `art` = '$_GET[art]' ORDER BY `id` ASC"; $sql_query = mysql_query($sql); while ($comment = mysql_fetch_array($sql_query)) { echo "<div class='ramme_2'>\n" ."<b>" . $comment['name'] . "</b><br />\n" . $comment['comment'] . "\n" ."</div>"; } } function add_comment($art, $name, $comment) { $fjern = array("<",">"); $erstatt = array("<",">"); $name = str_replace($fjern, $erstatt, $name); $comment = str_replace($fjern, $erstatt, $comment); $sql = "INSERT INTO `prog_comment` (`art`, `name`, `comment`) VALUES ('$art' , '$name' , '$comment')"; mysql_query($sql) or die(mysql_error()); } ?> Denne koden skal skrive til en tabelll i databasen min, men jeg får bare disse feilmeldingene: Warning: mysql_query() [function.mysql-query]: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) in /usr/home/web/wno47857/comment.php on line 47 Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in /usr/home/web/wno47857/comment.php on line 47 Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) line 47 er dette: mysql_query($sql) or die(mysql_error()); noen som ser hva som er feil? EDIT: La til alt som er skrevet i filen Endret 29. mai 2005 av Scix Lenke til kommentar
Gjest Slettet+6132 Skrevet 29. mai 2005 Del Skrevet 29. mai 2005 (endret) Hmm! Jeg får samme error på min webserver, men jeg trodde det kom av at jeg ved et uhell CHOWNet alt til root. Men nå begynner jeg å lure her... EDIT: Warning: mysql_connect(): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) in /www/htdocs/guestbook/functions.php on line 107Error: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) EDIT2: // Kobler til databasen$link = mysql_connect("$host", "$user", "$password") or die('Error: ' . mysql_error()); // Velger database mysql_select_db("$db") or die('Databasefeil!'); // Setter inn info $info = "('$nick','$navn','$epost','$tid','$kommentar','$ip')"; $query = "INSERT INTO gjestebok (nick, navn, epost, tid, kommentar, ip) VALUES $info"; $insert = mysql_query($query); // Kobler fra databasen mysql_close($link); Endret 29. mai 2005 av Slettet+6132 Lenke til kommentar
Scix Skrevet 29. mai 2005 Forfatter Del Skrevet 29. mai 2005 det som også er litt rart er at jeg bruker et helt likt skript til å skrive til en annen tabell en annen plass på siden, og der funker det som en drøm... Har database hos http://www.web10.nu, hvis det kan hjelpe dere? Lenke til kommentar
Gjest Slettet+6132 Skrevet 29. mai 2005 Del Skrevet 29. mai 2005 (endret) Hmm, når jeg fjerna variablene og skrev direkte inn så funka det. Merkelig... mysql> select * from gjestebok; +----+------+------+----------------+------------+-----------+----------+ | id | nick | navn | epost | tid | kommentar | ip | +----+------+------+----------------+------------+-----------+----------+ | 1 | ex0n | eRik | [email protected] | 1117372692 | Test... | 10.0.0.1 | | 2 | ex0n | eRik | [email protected] | 1117373010 | test... | 10.0.0.1 | +----+------+------+----------------+------------+-----------+----------+ 2 rows in set (0.01 sec) Spørsmålet er hvorfor det ikke vil funke med variabler i connecten... Endret 29. mai 2005 av Slettet+6132 Lenke til kommentar
Scix Skrevet 29. mai 2005 Forfatter Del Skrevet 29. mai 2005 får feil da også jeg Lenke til kommentar
Lokaltog Skrevet 29. mai 2005 Del Skrevet 29. mai 2005 Warning: mysql_query() [function.mysql-query]: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) in /usr/home/web/wno47857/comment.php on line 47 Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in /usr/home/web/wno47857/comment.php on line 47 Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) Er kjent med disse feilmeldingene. De gangene jeg har opplevd å få disse meldingene har hosten min forklart at det er forårsaket av en bruker på samme server som fyller opp minnet eller /tmp, slik at PHP ikke får koblet til MySQL. Dette er noe hosten må rette på, så jeg foreslår at du sender en mail der du forklarer problemet og ber hosten sjekke om det er en bruker som bruker veldig ressurskrevende script på serveren. Lenke til kommentar
Gjest Slettet+6132 Skrevet 29. mai 2005 Del Skrevet 29. mai 2005 får feil da også jeg Hvor kobler du til i filen din? Kan ikke se det noe sted. Lenke til kommentar
Gjest Slettet+6132 Skrevet 29. mai 2005 Del Skrevet 29. mai 2005 Er kjent med disse feilmeldingene. De gangene jeg har opplevd å få disse meldingene har hosten min forklart at det er forårsaket av en bruker på samme server som fyller opp minnet eller /tmp, slik at PHP ikke får koblet til MySQL. Dette er noe hosten må rette på, så jeg foreslår at du sender en mail der du forklarer problemet og ber hosten sjekke om det er en bruker som bruker veldig ressurskrevende script på serveren. Kan det umulig være. Min host står 15,47cm til venstre for meg, og det fungerer jo når jeg droppa variablene og skrev infoen direkte. Lenke til kommentar
Scix Skrevet 29. mai 2005 Forfatter Del Skrevet 29. mai 2005 (endret) Her er URL til det http://www.sovetid.com/index.php?page=comment&art=1 Har prøft å dele det opp i to filer nå. Men det hjalp ikke mye EDIT: Leste feil... Jeg kobler til lengre opp i index filen. kobler til når siden blir lastet Endret 29. mai 2005 av Scix Lenke til kommentar
Scix Skrevet 29. mai 2005 Forfatter Del Skrevet 29. mai 2005 Gjorde slik at den kontaktet database en gang til, hvis function add_comment ble kjørt. da fikk jeg bare en ny feilmelding You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'er enda en test)' at line 1 Da prøver jeg å lagre kommentaren : "Dette er enda en test" Lenke til kommentar
Scix Skrevet 29. mai 2005 Forfatter Del Skrevet 29. mai 2005 (endret) det funker nå. la til require 'dbconnet.php' i function add_comment function add_comment($art , $name , $comment) { require 'dbconnect.php'; $fjern = array("<",">"); $erstatt = array("<",">"); $name = str_replace($fjern, $erstatt, $name); $comment = str_replace($fjern, $erstatt, $comment); $sql = "INSERT INTO `prog_comment` (`art`, `name`, `comment`) VALUES ('$art' , '$name' , '$comment')"; mysql_query($sql) or die(mysql_error()); } Stor tabbe fra meg. Tenkte ikke på at index ikke blir lastet, når jeg setter action='comment.php' i formen Endret 29. mai 2005 av Scix Lenke til kommentar
Gjest Slettet+6132 Skrevet 29. mai 2005 Del Skrevet 29. mai 2005 (endret) EDIT: Ok... Endret 29. mai 2005 av Slettet+6132 Lenke til kommentar
Doffar Skrevet 29. mai 2005 Del Skrevet 29. mai 2005 Hallo. Jeg har et lite spørsmål siden du har klart det du ville. Jeg har en db der brukernavn skal være unike. Hvordan kan jeg skjekke om noen har brukt brukernavnet jeg vil registrere meg med? (det blir skjekket og jeg får mld om det er opptatt hvis det er det, ellers så går jeg videre i registreringen) Lenke til kommentar
Gjest Slettet+6132 Skrevet 29. mai 2005 Del Skrevet 29. mai 2005 (endret) Hallo. Jeg har et lite spørsmål siden du har klart det du ville. Jeg har en db der brukernavn skal være unike. Hvordan kan jeg skjekke om noen har brukt brukernavnet jeg vil registrere meg med? (det blir skjekket og jeg får mld om det er opptatt hvis det er det, ellers så går jeg videre i registreringen) $query = "SELECT brukernavn FROM tabell WHERE brukernavn = '$brukernavn'"; $get = mysql_query($query); $rader = mysql_num_rows($get); if ($rader > 0) { echo "Brukernavnet er opptatt"; } else { ..... } Sånn ca... EDIT: Glemte noe viktig Endret 29. mai 2005 av Slettet+6132 Lenke til kommentar
Rasmus Skrevet 29. mai 2005 Del Skrevet 29. mai 2005 For å unngå trøbbel, sjekk ut PHP Security Guide: Databases and SQL. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå