Avatar billede Slettet bruger
11. oktober 2005 - 02:32 Der er 13 kommentarer og
1 løsning

Nogen der kan finde fejlen?

Hello eksperter!

Er igang med en gæstebog i php med phpmyadmin, www.vokadin.dk/yeah/ .. prøv at oprette et indlæg.
Som i kan se opretter den ikke indholdet, men indsætter en tom række i databasen.

alle stier og bruger og koder er tjekket og fungerer, så det må vel være en fejl i tilfoej.php. -men hvad ved jeg?

Håber der er nogen der kan hjælpe!

index.php:

<?
//
// HELLO HONG KONG
//
?>

<? include "config.php"; ?>

<p><font size="2" face="Verdana">Vis Forum - <a href="tilfoej.php">Tilføj Indlæg</a></font></p>

<hr color="#000000">

<?    $res_tagwall = mysql_query("SELECT * FROM tagwall order by id ASC");
            while ($row_tagwall = mysql_fetch_array($res_tagwall)){
?>
<div align="left">
  <table border="0" width="262" height="14" cellspacing="0" cellpadding="0">
    <tr>
      <td width="262" height="1"><font size="2" face="Verdana"><i>Fra</i> : <b><?=$row_tagwall[NAVN]?></b></font></td>
    </tr>
    <tr>
      <td width="262" height="1"><font size="2" face="Verdana"><i>Hjemmeside</i> : <b><?=$row_tagwall[URL]?></b></font></td>
    </tr>
    <tr>
      <td width="262" height="14"><font size="2" face="Verdana"><i>Besked</i> :</font></td>
    </tr>
    <tr>
      <td width="262" height="4"><font size="2" face="Verdana"><b><?=$row_tagwall[TXT]?></b></font></td>
    </tr>
  </table>
</div><br>
<?
}
?>

Tilfoej.php:

<? include "config.php"; ?>

<?
if ($_POST[action] == "update"){
    $navn = ($_POST[NAVN]);
    $url = ($_POST[URL]);
    $txt = ($_POST[TXT]);

    mysql_query("INSERT INTO tagwall SET NAVN = '$NAVN',URL = '$URL',DATO = '$DATO',ID = '$ID',TXT = '$TXT'");

}
?>

<p>
<font size="2" face="Verdana"><a href="index.php">Vis Forum</a> - Tilføj Indlæg</font></p>

<hr color="#000000">
<p></p>
<form action=tilfoej.php?m=saadan method=post>
<input type="hidden" name="action" value="update">
<div align="left">
  <table border="0" width="376" height="1" cellspacing="0" cellpadding="0">
    <tr>
      <td width="125" height="1"><font size="2" face="Verdana">Navn:</font></td>
      <td width="216" height="1"><font size="2" face="Verdana"><input type="text" name="navn" size="20" style="background-color: #FFFFFF; color: #000000; font-size: 13 px; font-family: Verdana; font-weight: bold; border: 1 solid #000000">&nbsp;</font></td>
    </tr>
    <tr>
      <td width="125" height="24"><font size="2" face="Verdana">Hjemmeside:</font></td>
      <td width="216" height="24"><font size="2" face="Verdana"><input type="text" name="url" size="20" style="background-color: #FFFFFF; color: #000000; font-size: 13 px; font-family: Verdana; font-weight: bold; border: 1 solid #000000"></font></td>
    </tr>
    <tr>
      <td width="125" height="11"><font size="2" face="Verdana">Besked:</font></td>
      <td width="216" height="11"><font size="2" face="Verdana"><textarea rows="2" name="txt" cols="20" style="background-color: #FFFFFF; color: #000000; font-size: 13 px; font-family: Verdana; font-weight: bold; border: 1 solid #000000"></textarea></font></td>
    </tr>
    <tr>
      <td width="125" height="1"><font size="2" face="Verdana">Bekræft:</font></td>
      <td width="216" height="1"><font size="2" face="Verdana"><input type="submit" name="update" value="ROCK'N'ROLL" style="background-color: #FFFFFF; color: #000000; font-size: 13 px; font-family: Verdana; border: 1 solid #000000"></font></td>
    </tr>
  </table>
</div>
</form>

config.php:

<?
    $dbhost = "localhost"; // ADRESSEN TIL MYSQL
    $database = "vokadin_dk"; // DATABASENS NAVN
    $dbuser = "vokadin_dk"; // BRUGER
    $dbpass = "XXXX"; // KODE
?>

<?
mysql_connect($dbhost,$dbuser,$dbpass);
mysql_select_db($database);
?>

På forhånd tak for hjælpen!!
-Nico
Avatar billede showsource Seniormester
11. oktober 2005 - 06:57 #1
Er dine kolonnenavne med stort i DB?
Anyway,
mysql_query("INSERT INTO `tagwall` (`NAVN`,`URL`,`DATO`,`TXT`) VALUES ('". $NAVN ."','". $URL ."','". $DATO ."','". $TXT ."')") or die (mysql_error());

Lidt tjek på hvad som lægges ind, (undgå sql-injection), vil ikke være dumt!
Avatar billede dmdisco Nybegynder
11. oktober 2005 - 09:12 #2
ændre
mysql_query("INSERT INTO tagwall SET NAVN = '$NAVN',URL = '$URL',DATO = '$DATO',ID = '$ID',TXT = '$TXT'");
til
mysql_query("INSERT INTO tagwall SET NAVN = '$navn',URL = '$url',DATO = '$DATO',ID = '$ID',TXT = '$txt'");
og så kan jeg ikke lige se hvor du får $DATO fra
og jeg ser hellere ingen grund til at indsætte ID har du ikke autonumrering i det felt

og til sidst gør som showsource siger tjek og se om alle felterne er skrevet rigtigt da der er forskel på store og små bogstaver
Avatar billede nielle Nybegynder
11. oktober 2005 - 17:53 #3
Prøv med nogle flere "-tegn og med noget fejlhåndtering:

<form action="tilfoej.php?m=saadan" method="post">
<input type="hidden" name="action" value="update">
<div align="left">
    <table border="0" width="376" height="1" cellspacing="0" cellpadding="0">
        <tr>
            <td width="125" height="1"><font size="2" face="Verdana">Navn:</font></td>
            <td width="216" height="1"><font size="2" face="Verdana">
                <input type="text" name="navn" size="20" style="background-color: #FFFFFF; color: #000000; font-size: 13 px; font-family: Verdana; font-weight: bold; border: 1 solid #000000">&nbsp;</font>
            </td>
        </tr>
        <tr>
            <td width="125" height="24"><font size="2" face="Verdana">Hjemmeside:</font></td>
            <td width="216" height="24"><font size="2" face="Verdana">
                <input type="text" name="url" size="20" style="background-color: #FFFFFF; color: #000000; font-size: 13 px; font-family: Verdana; font-weight: bold; border: 1 solid #000000"></font>
            </td>
        </tr>
        <tr>
            <td width="125" height="11"><font size="2" face="Verdana">Besked:</font></td>
            <td width="216" height="11"><font size="2" face="Verdana">
                <textarea rows="2" name="txt" cols="20" style="background-color: #FFFFFF; color: #000000; font-size: 13 px; font-family: Verdana; font-weight: bold; border: 1 solid #000000"></textarea></font>
            </td>
    </tr>
    <tr>
      <td width="125" height="1"><font size="2" face="Verdana">Bekræft:</font></td>
      <td width="216" height="1"><font size="2" face="Verdana"><input type="submit" name="update" value="ROCK'N'ROLL" style="background-color: #FFFFFF; color: #000000; font-size: 13 px; font-family: Verdana; border: 1 solid #000000"></font></td>
    </tr>
  </table>
</div>
</form>


....

<?
if ($_POST["action"] == "update")
{
    $navn = ($_POST["navn"]);
    $url = ($_POST["url"]);
    $txt = ($_POST["txt"]);

    $sql = "INSERT INTO tagwall SET navn = '$navn', url = '$url', dato = '$dato', id = '$id', text = '$text'";
    echo "DEBUG: " . $sql . "<br>";
    mysql_query($sql) or die(mysql_error());
}
?>
Avatar billede Slettet bruger
11. oktober 2005 - 21:33 #4
nielle: mange tak, så fik vi da noget ind i databasen!

i index.php skriver den de nyeste nederst. kan man lave om på det?

hvordan får jeg dato/tid til at fungere? i databasen skriver den bare 00:00:0000 ...

kan man lave det sådan, at der vises 20 beskeder pr. side?
Avatar billede nielle Nybegynder
11. oktober 2005 - 21:53 #5
Hvor får du din dato fra? Du skriver jo bare $dato, men det fremgår ikke af koden hvor den så stammer fra.
Avatar billede Slettet bruger
12. oktober 2005 - 13:10 #6
tjae, du siger noget. er ikke så smart til det her php, men hvilken kode skal der skrives for at få det til at se sådan ud?: 24/12-2005 18:42 ?
Avatar billede nielle Nybegynder
12. oktober 2005 - 17:27 #7
Databaser foretrækker normalt datoformatet i denne form yyyy-mm-dd.
Avatar billede Slettet bruger
12. oktober 2005 - 22:23 #8
men det må jo kunne lade sig gøre?

men hvad med de to andre spørgsmål?
Avatar billede nielle Nybegynder
18. oktober 2005 - 22:30 #9
Hvis du skal have ordnet dine poster i den modsatte række følge skal du bruge DESC i stedet for ASC.

Ja, man kan sagtens lave paging hvor der er 20 poster pr. side.
Avatar billede Slettet bruger
26. oktober 2005 - 00:49 #10
kom med et svar, så får du points :)
Avatar billede nielle Nybegynder
26. oktober 2005 - 06:58 #11
Har du da fået løst dit problem 100%?

... og et svar :^)
Avatar billede nielle Nybegynder
05. november 2005 - 08:32 #12
Husk nu også at acceptere svaret ;^)
Avatar billede nielle Nybegynder
21. november 2005 - 18:47 #13
??
Avatar billede nielle Nybegynder
18. marts 2006 - 07:40 #14
Takker for point :^)
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