29. oktober 2004 - 23:33
Der er
15 kommentarer og 2 løsninger
ret denne gode
Hey er der en der lige vil kigge denne php kode igennem for fejl.. kan nemlig ikke helt finde ud af det. <form action='<?$PHP_SELF?&glt;?action=opret' method='post'&glt; Navngiv nyheden: <input type='text' name='overskrift' maxlength='25'&glt; Selve nyheden: <textarea rows='5' name='tekst' cols='40'> <input type='submit' value=' Skriv nyhed '&glt; </form&glt; <? $dato = time(); if($action == "opret") { include("config.php"); mysql_connect($dbhost,$dbuser,$dbpass); mysql_select_db("$database"); $tekst = str_replace("\n", " ", $tekst); $query = mysql_query("INSERT INTO nyheder (id, overskrift, tekst, dato)" . "values ('', '$overskrift', '$tekst', '$dato')"); echo "Nyheden er nu trykt! Klik her for komme tilbage"; } ?> Tak på forhånd.
Annonceindlæg fra HP
29. oktober 2004 - 23:40
#1
Dur det ikke hvis du retter &glt til >: - - - <form action='<?$PHP_SELF?&glt;?action=opret' method='post'> Navngiv nyheden: <input type='text' name='overskrift' maxlength='25'> Selve nyheden: <textarea rows='5' name='tekst' cols='40'> <input type='submit' value=' Skriv nyhed '&glt; </form> <? $dato = time(); if($action == "opret") { include("config.php"); mysql_connect($dbhost,$dbuser,$dbpass); mysql_select_db("$database"); $tekst = str_replace("\n", " ", $tekst); $query = mysql_query("INSERT INTO nyheder (id, overskrift, tekst, dato)" . "values ('', '$overskrift', '$tekst', '$dato')"); echo "Nyheden er nu trykt! Klik her for komme tilbage"; } ?> - - -
29. oktober 2004 - 23:41
#2
<input type='submit' value=' Skriv nyhed '&glt; </form> - skal rettes til: <input type='submit' value=' Skriv nyhed '></form>
Slettet bruger
29. oktober 2004 - 23:43
#3
prøv dette: <form action="<?= $PHP_SELF ?>" action="opret" method="post"> <formfield> Navngiv nyheden: <input type="text" id="overskrift" maxlength="25" /> Selve nyheden: <textarea rows="5" id="tekst" cols="40" /> <input type="submit" value=" Skriv nyhed "> </formfield> </form> <? $dato = time(); if(isset($_POST['overskrift']) && isset($_POST['tekst'])) { include("config.php"); mysql_connect($dbhost,$dbuser,$dbpass); mysql_select_db("$database"); $tekst = str_replace("\n", " ", $tekst); $query = mysql_query("INSERT INTO nyheder (overskrift, tekst, dato) values ('$overskrift', '$tekst', '$dato')"); echo "Nyheden er nu trykt! Klik her for komme tilbage"; } ?>
Slettet bruger
29. oktober 2004 - 23:51
#5
det er fordi du skal afslutte <textarea rows='5' name='tekst' cols='40'> med </textarea> Den havde jeg godt nok også overset i mit eksempel, og der skal du erstatte <textarea rows="5" id="tekst" cols="40" /> med <textarea rows="5" id="tekst" cols="40"></textarea>
29. oktober 2004 - 23:58
#7
Måske skulle jeg også lige vise min nyheder.php : <? include("config.php"); mysql_connect($dbhost,$dbuser,$dbpass); mysql_select_db($database); $query = mysql_query("SELECT * FROM nyheder WHERE id='$id'") or die (mysql_error()); while($row = mysql_fetch_array($query)) { $nyhed = $row["overskrift"]; $nyheden = $row["tekst"]; $dato = $row["dato"]; echo "$nyhed $nyheden"; } ?>
30. oktober 2004 - 00:00
#8
En anden mulighed: <?php if (isset($_POST['skriv'])) { if (empty($_POST['overskrift']) OR empty($_POST['tekst'])) { header("location: ".$_SERVER['PHP_SELF']."?msg=1"); exit; } $dato = time(); include("config.php"); mysql_connect($dbhost,$dbuser,$dbpass); mysql_select_db("$database"); $query = mysql_query("INSERT INTO nyheder (overskrift, tekst, dato) VALUES ('".$_POST['overskrift']."', '".$_POST['tekst']."', '".$dato."')"); header("location: ".$_SERVER['PHP_SELF']."?msg=2"); exit; } else { ?> <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post"> Navngiv nyheden: <input type="text" name="overskrift" maxlength="25" /> Selve nyheden: <textarea rows="5" name="tekst" cols="40"></textarea> <input type="submit" value=" Skriv nyhed " name="skriv" /> </form> <?php if (isset($_GET['msg']) AND $_GET['msg'] == 1) echo "Begge felter skal udfyldes!"; if (isset($_GET['msg']) AND $_GET['msg'] == 2) echo "Nyheden er skrevet!"; } ?> Så kan du bruge nl2br() i udskrivningen, for at få linieskift, istedet for at erstatte \n med cr inden du sætter data ind.
30. oktober 2004 - 00:05
#9
Nu har jeg prøvet hmortensen's bud.. her der indsætter den nyheden i min database.. der er bare et problem, den viser det ikke i min
http://fodboldnews.1go.dk/nyhed/nyheder.php ... her er den sides kode:
<?
include("config.php");
mysql_connect($dbhost,$dbuser,$dbpass);
mysql_select_db($database);
$query = mysql_query("SELECT * FROM nyheder WHERE id='$id'") or die (mysql_error());
while($row = mysql_fetch_array($query)) {
$nyhed = $row["overskrift"];
$nyheden = $row["tekst"];
$dato = $row["dato"];
echo "$nyhed
$nyheden";
}
?>
30. oktober 2004 - 00:10
#10
Det er fordi du har et WHERE kriterie som forventer et id. Din udskrivning kunne blive noget i den her retning: <?php include("config.php"); mysql_connect($dbhost,$dbuser,$dbpass); mysql_select_db($database); $query = mysql_query("SELECT overskrift, tekst, dato FROM nyheder") or die (mysql_error()); while($row = mysql_fetch_array($query)) { echo $row['overskrift']."<br />"; echo nl2br($row['tekst'])."<br />"; echo "Skrevet den: ".date('d-m-Y H:i:s', $row['dato']); echo "<br /><hr />"; } ?>
Slettet bruger
30. oktober 2004 - 00:10
#11
det er jo fordi du ikke har sat nogen id ind, på den første side!
Slettet bruger
30. oktober 2004 - 00:14
#13
ved nu ikke hvor meget nytte jeg var til, men fordel point som du vil..
30. oktober 2004 - 00:14
#14
Det var så lidt
30. oktober 2004 - 00:23
#15
Jeg har lige et sidste spørgsmål, Er det muligt at åutte et billede ind i selve nyheds teksten?
30. oktober 2004 - 00:23
#16
autte = ligge ved ik hvordan jeg fik skrevet det andet :D
30. oktober 2004 - 00:25
#17
Du kan enten skrive <img src="sti/navn.ext">, for at få det direkte ind i teksten, eller du kan lave et felt mere i tabellen, som du kan skrive en sti til et billede i, så du har styr over opstilling, når det skal udskrives
Vi tilbyder markedets bedste kurser inden for webudvikling