Avatar billede xc0rtze Nybegynder
26. november 2005 - 11:38 Der er 20 kommentarer og
1 løsning

Tagwall gider ikke vise beskeder :S

Jeg har lavet en tagwall .. den virker fint, indsætter i databasen og det hele .. men den vil sq ikke vise beskederne :S
Det er der jeg skal bruge jeres hjælp :)

Her er den:
<?php
$host = "localhost";
$user = "USER";
$pass = "PASS";
$db = "DB";
mysql_connect("$host", "$user", "$pass") or die("Kunne ikke connecte");
mysql_select_db("$db") or die("Ingen database");
?>
<form action="?side=indlagtilfojet" method="post">
Skriv dit navn:<br /> <input type="text" name="navn"><br />
Skriv en beskeb:<br /><textarea name="besked"></textarea><br />
<input type="submit" value="send"></form>
<?php
if($_GET['side'] == "indlagtilfojet"){
$navn = $_POST["navn"];
$besked = $_POST["besked"];
if(empty($navn) OR empty($besked)){
print('<font color="red">Du har glemt noget</font>');
}else{
mysql_query("INSERT INTO tag(navn, besked) values(
'".addslashes($_POST['navn'])."',
'".addslashes($_POST['besked'])."')
");
print('<font color="green">Dit indlæg er posted</font>');
}
}
?>
<?php
$svar = mysql_query("SELECT * FROM tag ORDER BY id DESC");
while($row = mysql_fetch_array($svar)){}
?>
<?php echo $row['navn'];?><br />
<?php echo $svar['besked'];?><br /><br />

Forstår ikke fejlen, den viser ingen beskeder :S
Hjælp mig.
75 point til den der laver den!
Avatar billede nielle Nybegynder
26. november 2005 - 11:43 #1
Hvad mener du med at den ikke gider? Din while-løkke hvor du skulle udskrive er jo faktisk helt tom:

$svar = mysql_query("SELECT * FROM tag ORDER BY id DESC");
while ($row = mysql_fetch_array($svar))
{
}
Avatar billede nielle Nybegynder
26. november 2005 - 11:46 #2
Et muligt bud:

<?php
$host = "localhost";
$user = "USER";
$pass = "PASS";
$db = "DB";
mysql_connect("$host", "$user", "$pass") or die("Kunne ikke connecte");
mysql_select_db("$db") or die("Ingen database");
?>
<form action="?side=indlagtilfojet" method="post">
Skriv dit navn:<br /> <input type="text" name="navn"><br />
Skriv en beskeb:<br /><textarea name="besked"></textarea><br />
<input type="submit" value="send"></form>
<?php
if ($_GET['side'] == "indlagtilfojet")
{
    $navn = $_POST["navn"];
    $besked = $_POST["besked"];
    if (empty($navn) OR empty($besked))
    {
        print('<font color="red">Du har glemt noget</font>');
    }
    else
    {
        mysql_query("INSERT INTO tag(navn, besked) values('" . addslashes($_POST['navn']) . "','" . addslashes($_POST['besked']) . "')");
        print('<font color="green">Dit indlæg er posted</font>');
    }
}
?>
<?php
echo "<table>";
$svar = mysql_query("SELECT * FROM tag ORDER BY id DESC");
while ($row = mysql_fetch_array($svar))
{
    echo "<tr><td>$row[navn]</td><td>$row[besked]</td></tr>";
}
echo "</table>";
?>
<?php echo $row['navn'];?><br />
<?php echo $svar['besked'];?><br /><br />
Avatar billede nielle Nybegynder
26. november 2005 - 11:47 #3
Lidt for meget med:

<?php
$host = "localhost";
$user = "USER";
$pass = "PASS";
$db = "DB";
mysql_connect("$host", "$user", "$pass") or die("Kunne ikke connecte");
mysql_select_db("$db") or die("Ingen database");
?>
<form action="?side=indlagtilfojet" method="post">
Skriv dit navn:<br /> <input type="text" name="navn"><br />
Skriv en beskeb:<br /><textarea name="besked"></textarea><br />
<input type="submit" value="send"></form>
<?php
if ($_GET['side'] == "indlagtilfojet")
{
    $navn = $_POST["navn"];
    $besked = $_POST["besked"];
    if (empty($navn) OR empty($besked))
    {
        print('<font color="red">Du har glemt noget</font>');
    }
    else
    {
        mysql_query("INSERT INTO tag(navn, besked) values('" . addslashes($_POST['navn']) . "','" . addslashes($_POST['besked']) . "')");
        print('<font color="green">Dit indlæg er posted</font>');
    }
}
?>
<?php
echo "<table>";
$svar = mysql_query("SELECT * FROM tag ORDER BY id DESC");
while ($row = mysql_fetch_array($svar))
{
    echo "<tr><td>$row[navn]</td><td>$row[besked]</td></tr>";
}
echo "</table>";
?>
Avatar billede xc0rtze Nybegynder
26. november 2005 - 12:15 #4
Den viser ikke beskederne .. Jeg forstår ikke hvad fejlen er :S
Nielle > Det virker ikke :S
Avatar billede nielle Nybegynder
26. november 2005 - 12:17 #5
Udskriver denne kode-stump:

<?php
echo "<table>";
$svar = mysql_query("SELECT * FROM tag ORDER BY id DESC");
while ($row = mysql_fetch_array($svar))
{
    echo "<tr><td>$row[navn]</td><td>$row[besked]</td></tr>";
}
echo "</table>";
?>

- slet ikke noget?
Avatar billede xc0rtze Nybegynder
26. november 2005 - 12:19 #6
Den viser ingenting, selvom den har gemt i databasen!
Avatar billede nielle Nybegynder
26. november 2005 - 12:27 #7
Skriver den ikke en gang

<table>
</table>

?
Avatar billede xc0rtze Nybegynder
26. november 2005 - 12:29 #8
nej
Avatar billede Slettet bruger
26. november 2005 - 12:30 #9
Nu har du vel ikke bare rettet i den gamle kode, så du har glemt at rette:

echo $svar['besked'];

til

echo $row['besked'];

En anden mulighed kunne være, at der ikke er et felt, der hedder id i tabellen.
Avatar billede Slettet bruger
26. november 2005 - 12:32 #10
Prøv at rette

$svar = mysql_query("SELECT * FROM tag ORDER BY id DESC");

til

$svar = mysql_query("SELECT * FROM tag ORDER BY id DESC") or die(mysql_error());
Avatar billede nielle Nybegynder
26. november 2005 - 12:32 #11
<?php
$host = "localhost";
$user = "USER";
$pass = "PASS";
$db = "DB";
mysql_connect("$host", "$user", "$pass") or die("Kunne ikke connecte") or die(mysql_error());
mysql_select_db("$db") or die("Ingen database");
?>
<form action="?side=indlagtilfojet" method="post">
Skriv dit navn:<br /> <input type="text" name="navn"><br />
Skriv en beskeb:<br /><textarea name="besked"></textarea><br />
<input type="submit" value="send"></form>
<?php
if ($_GET['side'] == "indlagtilfojet")
{
    $navn = $_POST["navn"];
    $besked = $_POST["besked"];
    if (empty($navn) OR empty($besked))
    {
        print('<font color="red">Du har glemt noget</font>');
    }
    else
    {
        mysql_query("INSERT INTO tag(navn, besked) values('" . addslashes($_POST['navn']) . "','" . addslashes($_POST['besked']) . "')") or die(mysql_error());
        print('<font color="green">Dit indlæg er posted</font>');
    }
}

echo "<table>";
$svar = mysql_query("SELECT * FROM tag ORDER BY id DESC") or die(mysql_error());
while ($row = mysql_fetch_array($svar))
{
    echo "<tr><td>$row[navn]</td><td>$row[besked]</td></tr>";
}
echo "</table>";
?>
Avatar billede nielle Nybegynder
26. november 2005 - 12:33 #12
Jep :^) noget fejlhåndtering på!
Avatar billede xc0rtze Nybegynder
26. november 2005 - 12:38 #13
Nu virker det .. men den siger altså: Duplicate entry '0' for key 1
Avatar billede nielle Nybegynder
26. november 2005 - 12:40 #14
Sæt auto_increment på dit id-felt i tag-tabellen.
Avatar billede xc0rtze Nybegynder
26. november 2005 - 12:44 #15
Jo tak .. smid et svar og få dine point :D
Tak for hjælpen
Avatar billede nielle Nybegynder
26. november 2005 - 12:46 #16
Svar :^)

Måske vil sandbox også gerne have en andel?
Avatar billede xc0rtze Nybegynder
26. november 2005 - 12:48 #17
Tror jeg osse :D
Men hvordan giver jeg ham point?
Avatar billede nielle Nybegynder
26. november 2005 - 12:56 #18
Det kræver at han selv lægger et svar :^)
Avatar billede nielle Nybegynder
26. november 2005 - 12:57 #19
... hvilket dog ikke er muligt nu hvor du har accepteret svaret.

sandbox> Nogle point til dig?
Avatar billede Slettet bruger
26. november 2005 - 13:11 #20
Nej, skidt med det. Du gjorde jo det meste af arbejdet alligevel.
Avatar billede nielle Nybegynder
26. november 2005 - 13:28 #21
Oki :^)
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