12. februar 2008 - 17:07
Der er
15 kommentarer og 1 løsning
Gæstebog.
Hej. Jeg er nybegyndt programmør, og har arbejdet med det siden igår aftes. Jeg sidder og rodder med en gæstebog, som jeg 100% selv har lavet indtil videre, som man nok også kan se på koden :P. Men jeg vil gerne lige have lidt hjælp til at få det jeg har indtil videre rettet, og vil gerne have lidt hjælp til det med at uploade til databasen. Jeg kan ikke rigtig finde ud af at få info med over fra den første fil, og ved ikke engang om den første fil (altså gb.php) er rigtig. Jeg vil gerne have at i forklare hvad i gør, osv osv :). Her er koden til gb.php: [code]<form action="indsaet.php" method="post"> Navn: <input type="text" name="navn" size="20"><p>Besked:<br> <textarea rows="5" name="besked" cols="20"></textarea></p> <p><br> <input type="submit" value="Send" name="B1"> </p> </form>[/code] [code] <?php mysql_connect("localhost", "fozie_dk", "KODEN") or die(mysql_error()); mysql_slecet_db("fozie_dk") or die(mysql_error()); ?> <?php besked = $besked navn = $navn <?php mysql_query("INSERT INTO gb1 (navn, besked) VALUES ('$navn', '$besked')") OR DIE(mysql_error()); ?>[/code] Og plx plx, spar mig fra nedgørende kommentare. Tak.
Annonceindlæg fra FPT Software
12. februar 2008 - 17:07
#1
damm [code] og [/code] skal bare ignoreres ;)
12. februar 2008 - 17:17
#2
hvordan ser indsaet.php ud ???
12. februar 2008 - 17:18
#3
<?php mysql_connect("localhost", "fozie_dk", "KODEN") or die(mysql_error()); mysql_slecet_db("fozie_dk") or die(mysql_error()); ?> <?php besked = $besked navn = $navn <?php mysql_query("INSERT INTO gb1 (navn, besked) VALUES ('$navn', '$besked')") OR DIE(mysql_error()); ?>
12. februar 2008 - 17:23
#4
<?php ?> er kun til at holde PHP-koden for sig selv. Så det er ikke nødvendigt at stoppe/starte et nyt tag, hvis der ikke skal anden kode imellem. "besked = $besked navn = $navn" Variabler angives sådan her: $besked = "value"; $navn = "value"; Når en form bliver submitted med POST, så henter du input'sne med $_POST(eks. $_POST['besked']), og ved GET henter du dem med $_GET. Derfor kunne din kode eksempelvis se sådan ud: <form action="gb.php" method="post"> Navn: <input type="text" name="navn" /><br /> Besked: <textarea name="besked"></textarea><br /> <input type="submit" name="ny_besked" value="Post besked." /> </form> <?php mysql_connect("localhost", "fozie_dk", "KODEN") or die(mysql_error()); mysql_slecet_db("fozie_dk") or die(mysql_error()); if( $_POST ) { $navn = $_POST['navn']; $besked = $_POST['besked']; if( empty( $_POST['navn'] ) ) print 'Navn, tak!'; else $navn = stripslashes( $_POST['navn'] ); if( empty( $_POST['besked'] ) ) print 'Besked, tak!'; else $besked = stripslashes( $_POST['besked'] ); if( $navn AND $besked ) { mysql_query("INSERT INTO gb1 (navn, besked) VALUES ('$navn', '$besked')") OR ( $error = mysql_error() ); if( !$error ) print 'TILFØJET!!'; } } ?>
12. februar 2008 - 17:28
#5
Skal lige spise, så ser jeg på det :)
12. februar 2008 - 17:47
#6
Hmm.. Kan du forklare det med hvordan du tjekker om der står noget? ps. det virker, så post den næste besked som var :)
12. februar 2008 - 17:51
#7
Og btw. kan du hjælpe mig med at få data ud fra databasen ;s?
12. februar 2008 - 17:57
#8
mysql_slecet_db("fozie_dk") or die(mysql_error()); skal vel være mysql_select_db("fozie_dk") or die(mysql_error());
12. februar 2008 - 18:02
#9
jarner, dem du postedet er helt ens.
12. februar 2008 - 18:13
#10
Okay, nu ser mit script sådan ud: <form action="gb.php" method="post"> Navn: <input type="text" name="navn" size="20"><p>Besked:<br> <textarea rows="5" name="besked" cols="20"></textarea></p> <p><br> <input type="submit" name="ny_besked" value="Post besked."> </P> </form> <?php mysql_connect("localhost", "fozie_dk", "KODEN") or die(mysql_error()); mysql_select_db("fozie_dk") or die(mysql_error()); if($_POST) { $navn = $_POST['navn']; $besked = $_POST['besked']; if(empty($_POST['navn'])) print 'Navn.'; else $navn = stripslashes($_POST['navn']); if(empty($_POST['besked'])) print 'Besked.'; else $besked = stripslashes($_POST['besked']); if($navn AND $besked) { mysql_query("INSERT INTO gb1 (navn, besked) VALUES ('$navn','$besked')") OR ($error = mysql_error()); if(!$error) print 'Tilføjet.'; } } ?> <hr> <? $query = mysql_query("SELECT * FROM gb1 ORDER BY id DESC LIMIT 1"); $row = mysql_fetch_assoc($query); echo 'navn $row['navn'] "</br>" $row['besked']; ?> Den laver fejl i den nederste del, den hvor jeg vil have den til at udskrive. Hvad gør jeg forkert?
12. februar 2008 - 18:17
#11
fejlen ligger heri: <? $query = mysql_query("SELECT * FROM gb1"); while($row = mysql_fetch_assoc($query)) { echo 'navn $row['navn'] "</br>" $row['besked']'; } ?>
12. februar 2008 - 18:45
#12
eeh.. måske skulle du huske <?php og ikke <?
12. februar 2008 - 18:48
#13
Ja som musse siger, prøv med <?php. Men får du en fejlmeddelse, eller sker der bare intet? Prøv med: $query = mysql_query("SELECT * FROM gb1"); if( mysql_num_rows( $query ) ) { while($row = mysql_fetch_assoc($query)) { echo 'navn $row['navn'] "</br>" $row['besked']'; }
12. februar 2008 - 18:50
#14
Hov, kom til at trykke send en smule for hurtigt. Sådan her skulle det se ud: if( mysql_num_rows( $query ) ) { while( $row = mysql_fetch_assoc( $query ) ) { print $row['navn'] . '<br />' . $row['besked'] . '<hr />'; } } Og tror din kode vil blive pænere i længden hvis du udskriver ting som "<hr />" med en print/echo, istedet for at stoppe php, udskrive, starte php igen :)
12. februar 2008 - 19:06
#15
Det hele virker, skriv en post som svar:)
12. februar 2008 - 20:57
#16
Vær så god.
Vi tilbyder markedets bedste kurser inden for webudvikling