Avatar billede sijmonj Nybegynder
15. juli 2007 - 17:30 Der er 10 kommentarer og
1 løsning

Tagwall og database fejl

Hej jeg er igang med at lave en tagwall til min hjemmeside men når man skriver noget i boxene så udskriver den ikke ens indlæg og jeg kan ikke finde nogen fejl :S.. nogen der kan se hva fejlen er ?

her er min kode

---------------index.php-------------------
<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Tagwall</title>
<link href="../../css/styletoindhold.css" rel="stylesheet" type="text/css">
</head>

<body>

<?
include("config.php");

if(isset($_POST[action])) {

if($_POST[name]=="") {
print "";
} else {

if($_POST[besked]=="") {
print "";
} else {

if(!get_magic_quotes_gpc()) {
$besked = addslashes($_POST[besked]);
}

$name  = htmlspecialchars($_POST[name]);
$besked = htmlspecialchars($_POST[besked]);
$dato    = date('d/m-Y');
$klok    = date('H:i');

mysql_query("INSERT INTO tagwall (name, besked, dato, klok, hjemmeside) VALUES ('$name','$besked', '$dato', '$klok', '$hjemmeside',)") or die('Mysql Fejl opstod:' . mysql_error());
}
}
}
?>

<form action="index.php" method="POST">
<b>Navn:</b><br>
<input type="text" name="name" style="color: #666666; font-size: 8pt; border: 1px solid #C0C0C0; padding: 2px; background-color:#FFFFFF" size="40"><br />

<b>Hjemmeside:</b><br>
<input type="text" name="mail" value="http://" / style="margin-top:2px; color: #666666;font-size: 8pt; border: 1px solid #C0C0C0; padding: 2px; background-color:#FFFFFF" size="40"><br />

<b>Besked:</b><br>
<textarea rows="9" id=commentsbox name="comments" style="margin-top:2px; color: #666666; font-size: 8pt; border: 1px solid #C0C0C0; padding: 2px; background-color:#FFFFFF" cols="40"></textarea><br>


<input type="submit" name="submit" value="Tilføj besked" style="margin-left:60px; margin-top:2px; color: #666666; font-family: Verdana; font-size: 8pt; border: 1px solid #C0C0C0; padding: 2px; background-color:#FFFFFF">
<hr>
</form>

<?

$query=mysql_query("SELECT * FROM tagwall ORDER BY id DESC") or die('Mysql Fejl opstod:' . mysql_error());
$antal_beskeder=mysql_num_rows($query);
echo "Der er i alt <b>$antal_beskeder</b> Tags";

if(mysql_num_rows($query)) {
while($vis = mysql_fetch_array($query)) {

?>

<table border="1" width="100%" bgcolor="#d6d5d9" cellspacing="1" style="border-collapse: collapse; border: 1px solid #000000;">
    <tr>
        <td><font size="1"><b>Skrevet af: </font></b><i><a target="_blank" href="<? echo $vis[hjemmeside]; ?>"><? echo $vis[navn]; ?></a></i> - <? $idag=date('d/m-Y'); if($idag=="$vis[dato]") { echo "Idag"; } else { echo $vis[dato]; } echo " kl. $vis[klok]"; ?><br><? echo nl2br($vis[besked]); ?></td>
    </tr>
</table>
<hr>

<?
}
} else {
echo "<br /><br />Der er ikke nogen Tags.";
}
?>

</body>

</html>
---------------index.php End-------------------

Hvis i ser nogen andre fejl som fx. kan skade min tagwall må i også meget gerne skrive det
Avatar billede jakobdo Ekspert
15. juli 2007 - 17:36 #1
Du har også tomme fejl beskeder:

F.eks.:

if($_POST[name]=="") {
print "";
}

Burde være:

if($_POST[name]=="") {
print "Du skal huske at skrive et navn";
}
Avatar billede jakobdo Ekspert
15. juli 2007 - 17:38 #2
Og det samme med besked selvfølgelig! :o)

Og i din form kalder du textarea for:

<textarea rows="9" id=commentsbox name="comments" <---
comments

Men du henter værdien: $_POST['besked'], mon ikke det ville hjælpe med: $_POST['comments'] :o)
Avatar billede sijmonj Nybegynder
15. juli 2007 - 17:54 #3
har lige rettet lidt.. men kan ikke få det til at virke endnu :S

----------
<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Tagwall</title>
<link href="../../css/styletoindhold.css" rel="stylesheet" type="text/css">
</head>

<body>

<?
include("config.php");

if(isset($_POST[action])) {

if($_POST[name]=="") {
print "";
} else {

if($_POST[besked]=="") {
print "";
} else {

if(!get_magic_quotes_gpc()) {
$besked = addslashes($_POST[besked]);
}

$name  = htmlspecialchars($_POST[name]);
$besked = htmlspecialchars($_POST[besked]);
$dato    = date('d/m-Y');
$klok    = date('H:i');

mysql_query("INSERT INTO tagwall (name, besked, dato, klok, hjemmeside) VALUES ('$name','$besked', '$dato', '$klok', '$hjemmeside',)") or die('Mysql Fejl opstod:' . mysql_error());
}
}
}
?>

<form action="index.php" method="POST">
<b>Navn:</b><br>
<input type="text" name="name" style="color: #666666; font-size: 8pt; border: 1px solid #C0C0C0; padding: 2px; background-color:#FFFFFF" size="40"><br />

<b>Hjemmeside:</b><br>
<input type="text" name="hjemmeside" value="http://" / style="margin-top:2px; color: #666666;font-size: 8pt; border: 1px solid #C0C0C0; padding: 2px; background-color:#FFFFFF" size="40"><br />

<b>Besked:</b><br>
<textarea rows="9" name="besked" style="margin-top:2px; color: #666666; font-size: 8pt; border: 1px solid #C0C0C0; padding: 2px; background-color:#FFFFFF" cols="40"></textarea><br>


<input type="submit" name="submit" value="Tilføj besked" style="margin-left:60px; margin-top:2px; color: #666666; font-family: Verdana; font-size: 8pt; border: 1px solid #C0C0C0; padding: 2px; background-color:#FFFFFF">
<hr>
</form>

<?

$query=mysql_query("SELECT * FROM tagwall ORDER BY id DESC") or die('Mysql Fejl opstod:' . mysql_error());
$antal_beskeder=mysql_num_rows($query);
echo "Der er i alt <b>$antal_beskeder</b> Tags";

if(mysql_num_rows($query)) {
while($vis = mysql_fetch_array($query)) {

?>

<table border="1" width="100%" bgcolor="#d6d5d9" cellspacing="1" style="border-collapse: collapse; border: 1px solid #000000;">
    <tr>
        <td><b><font size="1"><b>Skrevet af: </font></b><i><a target="_blank" href="<? echo $vis[hjemmeside]; ?>"><? echo $vis[navn]; ?></a></i> - <? $idag=date('d/m-Y'); if($idag=="$vis[dato]") { echo "Idag"; } else { echo $vis[dato]; } echo " kl. $vis[klok]"; ?><br><? echo nl2br($vis[besked]); ?></td>
    </tr>
</table>
<hr>

<?
}
} else {
echo "<br /><br />Der er ikke nogen Tags.";
}
?>

</body>

</html>
--------------end---------------
Avatar billede sijmonj Nybegynder
15. juli 2007 - 17:56 #4
de tomme fejl beskeder er meningen.. folk kan vel selv se at de ikke har skrevet noget i nogen af felterne xD
Avatar billede jakobdo Ekspert
15. juli 2007 - 18:08 #5
Prøv lige at ret din php kode til denne stump:

<?
include("config.php");

if(isset($_POST['submit']))
{
    if(empty($_POST['name'])
    {
        print "Navn er tomt";
    }
    else
    {
        if(empty($_POST['besked']))
        {
            print "Besked er tomt";
        }
        else
        {
            if(!get_magic_quotes_gpc())
            {
                $besked = addslashes($_POST['besked']);
            }
            else
            {
                $besked = $_POST['besked'];
            }

            $name  = htmlspecialchars($_POST['name']);
            $besked = htmlspecialchars($besked);
            $dato    = date('d/m-Y');
            $klok    = date('H:i');
            $hjemmeside = 'http://www.eksperten.dk';

            mysql_query("INSERT INTO tagwall (name, besked, dato, klok, hjemmeside) VALUES ('$name','$besked', '$dato', '$klok', '$hjemmeside',)") or die('Mysql Fejl opstod:' . mysql_error());
        }
    }
}
?>
Avatar billede sijmonj Nybegynder
15. juli 2007 - 18:58 #6
nu har jeg rettet det Jacob.. min kode ser nu sån her ud:

-------------
<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Tagwall</title>
<link href="../../css/styletoindhold.css" rel="stylesheet" type="text/css">
</head>

<body>

<?
include("config.php");

if(isset($_POST['submit']))
{
    if(empty($_POST['name'])
    {
        print "Navn er tomt";
    }
    else
    {
        if(empty($_POST['besked']))
        {
            print "Besked er tomt";
        }
        else
        {
            if(!get_magic_quotes_gpc())
            {
                $besked = addslashes($_POST['besked']);
            }
            else
            {
                $besked = $_POST['besked'];
            }

            $name  = htmlspecialchars($_POST['name']);
            $besked = htmlspecialchars($besked);
            $dato    = date('d/m-Y');
            $klok    = date('H:i');
            $hjemmeside = 'http://www.eksperten.dk';

            mysql_query("INSERT INTO tagwall (name, besked, dato, klok, hjemmeside) VALUES ('$name','$besked', '$dato', '$klok', '$hjemmeside',)") or die('Mysql Fejl opstod:' . mysql_error());
        }
    }
}
?>

<form action="index.php" method="POST">
<b>Navn:</b><br>
<input type="text" name="name" style="color: #666666; font-size: 8pt; border: 1px solid #C0C0C0; padding: 2px; background-color:#FFFFFF" size="40"><br />

<b>Hjemmeside:</b><br>
<input type="text" name="hjemmeside" value="http://" / style="margin-top:2px; color: #666666;font-size: 8pt; border: 1px solid #C0C0C0; padding: 2px; background-color:#FFFFFF" size="40"><br />

<b>Besked:</b><br>
<textarea rows="9" name="besked" style="margin-top:2px; color: #666666; font-size: 8pt; border: 1px solid #C0C0C0; padding: 2px; background-color:#FFFFFF" cols="40"></textarea><br>


<input type="submit" name="submit" value="Tilføj besked" style="margin-left:60px; margin-top:2px; color: #666666; font-family: Verdana; font-size: 8pt; border: 1px solid #C0C0C0; padding: 2px; background-color:#FFFFFF">
<hr>
</form>

<?

$query=mysql_query("SELECT * FROM tagwall ORDER BY id DESC") or die('Mysql Fejl opstod:' . mysql_error());
$antal_beskeder=mysql_num_rows($query);
echo "Der er i alt <b>$antal_beskeder</b> Tags";

if(mysql_num_rows($query)) {
while($vis = mysql_fetch_array($query)) {

?>

<table border="1" width="100%" bgcolor="#d6d5d9" cellspacing="1" style="border-collapse: collapse; border: 1px solid #000000;">
    <tr>
        <td><b><font size="1"><b>Skrevet af: </font></b><i><a target="_blank" href="<? echo $vis[hjemmeside]; ?>"><? echo $vis[navn]; ?></a></i> - <? $idag=date('d/m-Y'); if($idag=="$vis[dato]") { echo "Idag"; } else { echo $vis[dato]; } echo " kl. $vis[klok]"; ?><br><? echo nl2br($vis[besked]); ?></td>
    </tr>
</table>
<hr>

<?
}
} else {
echo "<br /><br />Der er ikke nogen Tags.";
}
?>

</body>

</html>
------------------end-------------

og jeg får den her fejlkode:


Parse error: parse error, unexpected '{' in /localhost/minside/pages/tagwall/index.php on line 17
Avatar billede jakobdo Ekspert
15. juli 2007 - 19:57 #7
Der mangler lige en ) i if(empty($_POST['name'])
Det skal være: if(empty($_POST['name']))
Avatar billede sijmonj Nybegynder
15. juli 2007 - 20:25 #8
okay .. nu når jeg skriver noget i boxene og trykker "opret besked" så får jeg den her fejl

Mysql Fejl opstod: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 ')' at line 1
Avatar billede jakobdo Ekspert
15. juli 2007 - 21:43 #9
Du har et komma for meget i din SQL lige efter '$hjemmeside'
Fjern det.
Avatar billede sijmonj Nybegynder
18. oktober 2007 - 19:40 #10
Lukket
Avatar billede jakobdo Ekspert
18. oktober 2007 - 19:58 #11
Hvad blev løsningen?
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