Avatar billede nicklasw Nybegynder
28. juni 2006 - 18:14 Der er 13 kommentarer og
1 løsning

kan simpelthen ikke finde fjelen

Hej eksperter.
Jeg har lavet starten på et forum, men det virker ikke, og jeg kan simpelthen ikke finde fejlen.
Jeg tror at fejlen er i koden hvor jeg opretter indlægget, men jeg er ikke sikker.
Så jeg poster både opret og vis inlæg koden.

her er koden til at oprette:

<?
include("include/connect.php");
$header = $_POST["header"];
$db = $_POST["db"];
$title = $_POST["title"];
$navn = $_POST["navn"];
$text = $_POST["text"];
$kl = time();

mysql_query("INSERT INTO $db (title,navn,text) VALUES ('$navn','$navn','$text')");
if ($header = "")
{
  header("locatin: http://www.sufroskilde.dk");
  exit;
}else{
header("location: $header");
}
?>

og her er vis koden:

<?
$fra = $_GET["fra"];
if ($fra == "")
{
  $fra = 0;
};
include("include/connect.php");
$res = mysql_query("SELECT * FROM forum LIMIT $fra,7");
while ($row = mysql_fetch_array($res) or die (mysql_error()))
{
  $title = $row["title"];
  $kl = $row["kl"];
  $navn = $row["navn"];
  $pretext = $row["text"];
  $antal = $row["key"];
  $text = nl2br($pretext);
  $html = "
  <table id=\"forum_table\">
      <tr>
          <td  id=\"forum_title\"><a>$title</a></td>
      </tr>
      <tr>
          <td id=\"forum_info\"><a>$navn</a><br /><a>$kl</a></td>
          <td id=\"forum_text\">$text</td>
      </tr>
      </table>
      <br />
  ";
  echo "$html";
};
$plus_fra = $fra + 7;
$minus_fra = $fra - 7;
if ($fra <= 0)
{
  if (antal > $fra){
    $html = "<a href=\"vis.php?fra=$plus_fra\">Næste >></a>";
    echo "$html";
  }
}else{
  $html = "<a href=\"vis.php?fra=$minus_fra\"><< Tilbage</a><a href=\"vis.php?fra=$plus_fra\">Næste >></a>";
  echo "$html";
};
?>

da det er lang tid siden jeg har kodet i php, så er det sikkert en 
rimlig simpel fejl.

M.V.H Nicklas
Avatar billede jaw Nybegynder
28. juni 2006 - 18:16 #1
Hvad er det, der ikke virker?

Et meget hurtigt kig finder bl.a. det her:
if ($header = "")
...hvor der skal være ==. Men det betyder jo ikke, at det er dén fejl du har problemer med.
Avatar billede jaw Nybegynder
28. juni 2006 - 18:22 #2
Og:
if (antal > $fra){ <- antal hvad? $antal?

:)
Avatar billede nicklasw Nybegynder
28. juni 2006 - 18:37 #3
ja undskyld jeg ikke skrev, hvad der ikke virker.
Det der ikke virker er at der ikke sker noget, endten opretter den ikke noget i databasen eller også viser den ikke data'erne i databasen.

Og ja selvfølig skal antal være $antal
var lige en smutter ;) prøver lige at rette fejlene og se hvad der sker
Avatar billede jaw Nybegynder
28. juni 2006 - 18:42 #4
Har du ikke phpmyadmin f.eks. på din server, så du har en mulighed for at se om den opretter eller ej? Der er jo ret stor forskel på, om den ikke opretter eller om den ikke viser.

Og så er det altid en god ide - i hvert fald under fejlsøgning - at smide mysql's debugmeddelelser på. Det kan du gøre på alle dine mysql_query, som f.eks. din insert:

mysql_query("INSERT INTO $db (title,navn,text) VALUES ('$navn','$navn','$text')") or die(mysql_error());

Prøv det, og se om det giver dig noget...
Avatar billede nicklasw Nybegynder
28. juni 2006 - 18:43 #5
nej virker stadig ikke :(
Avatar billede nicklasw Nybegynder
28. juni 2006 - 18:44 #6
okay prøver jeg
Avatar billede nicklasw Nybegynder
28. juni 2006 - 18:48 #7
jeg tror jeg har fundet fejlen...
hvis det er den får du dine point
Avatar billede nicklasw Nybegynder
28. juni 2006 - 18:59 #8
Nej det var ikke det...
men nu har jeg fundet ud af hvor fejlen er. kan bare ikke finde ud af hvad det er.
fejlen lægger i den her SQL string
INSERT INTO $db (title,navn,text) VALUES ('$navn','$navn','$text')

Hvad der galt med den??

PS: føler mig lidt dum nu
Avatar billede jaw Nybegynder
28. juni 2006 - 19:08 #9
Hvordan ved du, at den ligger der? Giver mysql dig fejl?

Du skal sikre dig, at alle variabler har rigtige værdier. Er $db f.eks. navnet på tabellen eller databasen? Det skal være navnet på tabellen...
Avatar billede nicklasw Nybegynder
28. juni 2006 - 19:14 #10
ja... db er bare et forkert navn men det er den rigtig værdi det er det altsammen, tror jeg nok. men ja den giver mig en mysql fejl... kan lige poste den

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 '(title,navn,text) VALUES ('','','')' at line 1
Avatar billede jaw Nybegynder
28. juni 2006 - 19:26 #11
Ok. Det betyder - vil jeg tro med 99% sikkerhed, at ingen af dine variabler indeholder noget som helst. Tjek det lige, med f.eks.:

echo $navn."<br />";
echo $db."<br />";

etc. etc.
Avatar billede nicklasw Nybegynder
28. juni 2006 - 20:08 #12
yes you right...
nu føler jeg mig dum... når men læg et svar
Avatar billede jaw Nybegynder
28. juni 2006 - 21:06 #13
Det kan jeg ske for selv den bedste...
Avatar billede danielss Nybegynder
29. juni 2006 - 21:29 #14
mysql_query("INSERT INTO $db (title,navn,text) VALUES ('$navn','$navn','$text')");
if ($header = "")
{
  header("locatin: http://www.sufroskilde.dk");
  exit;
}else{
header("location: $header");
}
?>

du skal måske lige rette locatin til location
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