Avatar billede sebastianrosen Nybegynder
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.
Avatar billede jakobclausen Nybegynder
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";
}
?>

- - -
Avatar billede jakobclausen Nybegynder
29. oktober 2004 - 23:41 #2
<input type='submit' value=' Skriv nyhed '&glt; </form>

- skal rettes til: <input type='submit' value=' Skriv nyhed '></form>
Avatar billede 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";
}
?>
Avatar billede sebastianrosen Nybegynder
29. oktober 2004 - 23:48 #4
Nu har jeg lige prøvet jakobclausen retning. Men den viser stadig fejl http://fodboldnews.1go.dk/nyhed/opret_nyhed.php

Forresten, jeg har lavet lavet koden efter denne guide : http://www.vipit.dk/artikel.php?aid=1
Avatar billede 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>
Avatar billede sebastianrosen Nybegynder
29. oktober 2004 - 23:55 #6
Nu har jeg prøvet gartzen's eksempel... Nu ser min opret_nyhed således ud: http://fodboldnews.1go.dk/nyhed/opret_nyhed.php  men når jeg skriver noget og trykker Skriv nyhed sker der ikke noget.. og når jeg går hen på http://fodboldnews.1go.dk/nyhed/nyheder.php er den også tom
Avatar billede sebastianrosen Nybegynder
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";
}
?>
Avatar billede hmortensen Nybegynder
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.
Avatar billede sebastianrosen Nybegynder
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";
}
?>
Avatar billede hmortensen Nybegynder
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 />";
}
?>
Avatar billede Slettet bruger
30. oktober 2004 - 00:10 #11
det er jo fordi du ikke har sat nogen id ind, på den første side!
Avatar billede sebastianrosen Nybegynder
30. oktober 2004 - 00:13 #12
Tak for hjælpen alle sammen :)

http://fodboldnews.1go.dk/nyhed/nyheder.php så virker det

Lav svar for at få point!
Avatar billede Slettet bruger
30. oktober 2004 - 00:14 #13
ved nu ikke hvor meget nytte jeg var til, men fordel point som du vil..
Avatar billede hmortensen Nybegynder
30. oktober 2004 - 00:14 #14
Det var så lidt
Avatar billede sebastianrosen Nybegynder
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?
Avatar billede sebastianrosen Nybegynder
30. oktober 2004 - 00:23 #16
autte = ligge

ved ik hvordan jeg fik skrevet det andet :D
Avatar billede hmortensen Nybegynder
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
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