Avatar billede jannek_ek Nybegynder
20. maj 2004 - 21:48 Der er 11 kommentarer og
1 løsning

problem med tagwall (php vs. mysql)

jeg forsøger at lave min egen tagwall, men det går ikke som jeg hvade håbet på.










<?php include("include/head.txt");
$navn = $_REQUEST["navn"];
$besked = $_REQUEST["besked"];
?>
<body>
<div id="100">
<div id="body">
  <div id="corner">
  <?php include("include/corner.txt"); ?>
  </div>
  <div id="head">
  </div>
  <div id="main">
  <p><br><b>H</b>er kan du så skrive et indlæg til vores gæstebog.</p>
<br>
<br>
<?php
$conn = mysql_connect("localhost", "randomonline", "xxxxxxxxx");
mysql_query("insert into tagwall (navn, besked)
values ("$navn", "$besked")");
mysql_query("delete from tagwall
where besked is null");
mysql_query("insert into tagwall
(navn)
values ("ikke mig :(")
where navn is null");
mysql_select_db("randomonline");
$result = mysql_query("select * from tagwall");
while ($row = mysql_fetch_array($result)) {
$navn = $row["navn"];
$besked = $row["besked"];
echo "<p>navn: ".$navn."<br>".$besked."</p>";
}
echo "
<p>
<form action=\"tagwall.php\" method=\"post\">
Dit navn: <input type=\"text\" name=\"navn\" size=\"40\">
<br>
Din besked: <input type=\"text\" name=\"besked\" size=\"10\" rows=\"5\">
<br>
<input type=\"submit\" value=\Send\">
</form>
</p>
";
mysql_close($conn);
?>


  <div id="bottom">
    <?php include("include/bottom.txt"); ?>
  </div>
  </div>
  <div id="menu">
  <?php include("include/menu.txt"); ?>
  </div>
</div>
</div>
</body>
</html>

serveren fortæller mig:
Parse error: parse error in /web/www/frac/users/randomonline/tagwall.php on line 20

linie 17 er lige efter det script, der åbner databasen.
Avatar billede sukos Juniormester
20. maj 2004 - 21:55 #1
mysql_query("insert into tagwall (navn, besked)
values ('$navn', '$besked')");

men du sikrer jo ikke din insert på nogen måde!!!
Avatar billede jannek_ek Nybegynder
20. maj 2004 - 23:54 #2
det er min første dag med sql, så du bliver desvære nødt til at uddybe det
Avatar billede dennismp Nybegynder
21. maj 2004 - 00:33 #3
$conn = mysql_connect("localhost", "randomonline", "xxxxxxxxx");
mysql_query("insert into tagwall (navn, besked)
values ("$navn", "$besked")");
mysql_query("delete from tagwall
where besked is null");
mysql_query("insert into tagwall
(navn)
values ("ikke mig :(")
where navn is null");
mysql_select_db("randomonline");

først connecter du til mysql,
så indsætter du,
derefter vælger du en database.

Mon ikke du bør flytte mysql_select_db() op før mysql_query()'erne..
Avatar billede dennismp Nybegynder
21. maj 2004 - 00:37 #4
Jeg har rodet lidt med dit script:

<?php

include("include/head.txt");
$navn = addslashes($_REQUEST["navn"]);
$besked = addslashes($_REQUEST["besked"]);
?>
<body>
<div id="100">
<div id="body">
  <div id="corner">
  <?php include("include/corner.txt"); ?>
  </div>
  <div id="head">
  </div>
  <div id="main">
  <p><br><b>H</b>er kan du så skrive et indlæg til vores gæstebog.</p>
<br>
<br>
<?php
$conn = mysql_connect("localhost", "randomonline", "xxxxxxxxx") or die(mysql_error());
mysql_select_db("randomonline") or die(mysql_error());

// Sørger for at både navn og besked er udfyldt:
if( !empty($navn) AND !empty($besked) )
  mysql_query("insert into tagwall (navn, besked) values ("$navn", "$besked")") or die(mysql_error());

// Vis
$result = mysql_query("select * from tagwall");

while ($row = mysql_fetch_array($result)) {
  $navn = stripslashes($row["navn"]);
  $besked = stripslashes($row["besked"]);
  echo "<p>navn: $navn <br>$besked</p>";
}
?>
<p>
<form action="tagwall.php" method="post">
Dit navn: <input type="text" name="navn" size="40">
<br>
Din besked: <input type="text" name="besked" size="10" rows="5">
<br>
<input type="submit" value="Send">
</form>
</p>
  <div id="bottom">
    <?php include("include/bottom.txt"); ?>
  </div>
  </div>
  <div id="menu">
  <?php include("include/menu.txt"); ?>
  </div>
</div>
</div>
</body>
</html>
Avatar billede dennismp Nybegynder
21. maj 2004 - 00:38 #5
Hvis du får fejl, så paste det venligst her.. (Det er utestet)
Avatar billede jannek_ek Nybegynder
21. maj 2004 - 00:44 #6
Parse error: parse error in /web/www/frac/users/randomonline/tagwall.php on line 25

men $nav og $besked er tomme når man går ind på siden, de bliver først udfyldt når man opdatere via formularen.
Avatar billede jannek_ek Nybegynder
21. maj 2004 - 00:47 #7
hvis man ikke intaster et navn skal værdien bare være null i tabellen
Avatar billede dennismp Nybegynder
21. maj 2004 - 01:00 #8
ret disse linjer
// Sørger for at både navn og besked er udfyldt:
if( !empty($navn) AND !empty($besked) )
  mysql_query("insert into tagwall (navn, besked) values ("$navn", "$besked")") or die(mysql_error());

// Vis
til:
if( !empty($besked) ) {
  if( empty($navn) ) {
    mysql_query("insert into tagwall (besked) values ('$besked')") or die(mysql_error());
  }
  else {
    mysql_query("insert into tagwall (navn, besked) values ('$navn', '$besked')") or die(mysql_error());
  }
}
Avatar billede jannek_ek Nybegynder
21. maj 2004 - 13:00 #9
jeg går ud fra at du vil ha dokumentet til at se sådan ud:

<?php

include("include/head.txt");
$navn = addslashes($_REQUEST["navn"]);
$besked = addslashes($_REQUEST["besked"]);
?>
<body>
<div id="100">
<div id="body">
  <div id="corner">
  <?php include("include/corner.txt"); ?>
  </div>
  <div id="head">
  </div>
  <div id="main">
  <p><br><b>H</b>er kan du så skrive et indlæg til vores gæstebog.</p>
<br>
<br>
<?php
$conn = mysql_connect("localhost", "randomonline", "xxxxxxxx") or die(mysql_error());
mysql_select_db("randomonline") or die(mysql_error());

// Sørger for at både navn og besked er udfyldt:
if( !empty($navn) AND !empty($besked) )
  mysql_query("insert into tagwall (navn, besked) values ("$navn", "$besked")") or die(mysql_error());

// Vis
til:
if( !empty($besked) ) {
  if( empty($navn) ) {
    mysql_query("insert into tagwall (besked) values ('$besked')") or die(mysql_error());
  }
  else {
    mysql_query("insert into tagwall (navn, besked) values ('$navn', '$besked')") or die(mysql_error());
  }
}

while ($row = mysql_fetch_array($result)) {
  $navn = stripslashes($row["navn"]);
  $besked = stripslashes($row["besked"]);
  echo "<p>navn: $navn <br>$besked</p>";
}
?>
<p>
<form action="tagwall.php" method="post">
Dit navn: <input type="text" name="navn" size="40">
<br>
Din besked: <input type="text" name="besked" size="10" rows="5">
<br>
<input type="submit" value="Send">
</form>
</p>
  <div id="bottom">
    <?php include("include/bottom.txt"); ?>
  </div>
  </div>
  <div id="menu">
  <?php include("include/menu.txt"); ?>
  </div>
</div>
</div>
</body>
</html>

men den skriver stadig det samme som før :(
Avatar billede dennismp Nybegynder
21. maj 2004 - 16:21 #10
Nej, du misforstod mig.. Prøv med denne:
<?php

include("include/head.txt");
$navn = addslashes($_REQUEST["navn"]);
$besked = addslashes($_REQUEST["besked"]);
?>
<body>
<div id="100">
<div id="body">
  <div id="corner">
  <?php include("include/corner.txt"); ?>
  </div>
  <div id="head">
  </div>
  <div id="main">
  <p><br><b>H</b>er kan du så skrive et indlæg til vores gæstebog.</p>
<br>
<br>
<?php
$conn = mysql_connect("localhost", "randomonline", "xxxxxxxx") or die(mysql_error());
mysql_select_db("randomonline") or die(mysql_error());

// Sørger for at både navn og besked er udfyldt:
if( !empty($besked) ) {
  if( empty($navn) ) {
    mysql_query("insert into tagwall (besked) values ('$besked')") or die(mysql_error());
  }
  else {
    mysql_query("insert into tagwall (navn, besked) values ('$navn', '$besked')") or die(mysql_error());
  }
}

//vis
while ($row = mysql_fetch_array($result)) {
  $navn = stripslashes($row["navn"]);
  $besked = stripslashes($row["besked"]);
  echo "<p>navn: $navn <br>$besked</p>";
}
?>
<p>
<form action="tagwall.php" method="post">
Dit navn: <input type="text" name="navn" size="40">
<br>
Din besked: <input type="text" name="besked" size="10" rows="5">
<br>
<input type="submit" value="Send">
</form>
</p>
  <div id="bottom">
    <?php include("include/bottom.txt"); ?>
  </div>
  </div>
  <div id="menu">
  <?php include("include/menu.txt"); ?>
  </div>
</div>
</div>
</body>
</html>
Avatar billede jannek_ek Nybegynder
21. maj 2004 - 23:24 #11
ja så sender den, men variablen result mangler, men det har jeg fikset med denne linie:  $result = mysql_query("select * from tagwall");

med den linie kan den både sende og modtage ergo JUHUUUU!!!

www.randomonline.frac.dk/tagwall.php

Kom med et svar!!
Avatar billede dennismp Nybegynder
22. maj 2004 - 01:08 #12
Svar :)
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