Avatar billede wizin Nybegynder
17. april 2005 - 23:28 Der er 10 kommentarer

tomme punkter i phpmyadmin

Jeg er temmelig rookie ang. php sider. men har fundet ud af en del af det nu. Men en ting er jeg ikke helt tilfreds med. har oprettet en side hvor man taster nogen ting ind i en formular, som så bliver smidt ind i databasen i phpmyadmin. problemmet er bare at hver gang jeg reloader siden opretter den automatisk en tom post i databasen og det skal den ikke.

Hvordan retter man det,så den ikke gør det.
Avatar billede leif Seniormester
17. april 2005 - 23:32 #1
Du skal lave et tjeck på om er der en værdi og er der ikke så lad være med at skrive i databasen.
Avatar billede hyberpreprocessor Nybegynder
17. april 2005 - 23:32 #2
tjaa, du retter din kode... Vi kan også hjælpe med ar rette kode, hvis du vel og mærke poster den herind :D
Avatar billede wizin Nybegynder
18. april 2005 - 10:42 #3
Der hvor man taster date ind
<!doctype html public "-//W3C//DTD HTML 4.0 //EN">
<html>
<head>
      <title>Title here!</title>
</head>
<body>
<form name="forum" method="post" action="forum.php">

<p>indtast brugernavn:<input type="text" name="bruger" size="20" maxlength="20"></p>
<p>Skiv indlæg:<textarea name="tekst"></textarea></p>
<input type="submit" name="send" value="send">
</form>
<?php

$dato = date("j/n - Y");
$bruger = $_REQUEST["bruger"];
$tekst = $_REQUEST["tekst"];


mysql_connect("localhost", "xxxx", "xxxx") or die(mysql_error());
mysql_select_db("xxx") or die (mysql_error());

//indsæt indhold
mysql_query("INSERT INTO forum(nummer,dato, bruger, tekst) values(0, '$dato','$bruger','$tekst')");
?>
</body>
</html>


Der hvor den så udskriver data fra phpmyadmin
<!doctype html public "-//W3C//DTD HTML 4.0 //EN">
<html>
<head>
      <title>Title here!</title>
</head>
<body>
<?php


mysql_connect("localhost", "xxxx", "xxxx") or die(mysql_error());
mysql_select_db("xxxx") or die (mysql_error());



$medlem = mysql_query("SELECT * FROM forum ORDER BY nummer DESC") or die (mysql_error());


print "<table border=1>";
while ($row = mysql_fetch_array($medlem))
{
    print "<tr><td>".$row["dato"]."</td>
    <td>".$row["bruger"]."</td>
    <td>".$row["tekst"]."</td></tr>";
}
print "</table>";
?>
</body>
</html>
Avatar billede hyberpreprocessor Nybegynder
18. april 2005 - 11:35 #4
tjaa, det er en overordenligt omgang slamkode.
laver lige en rettelse.
Avatar billede hyberpreprocessor Nybegynder
18. april 2005 - 11:41 #5
Første fil (nr. 2 kommer om lidt): (indtastning)

<?php

// PHP før HTML giver den bedste struktur

// VI skal jo kun indsætte når nogen har postet noget
if(isset($_POST['send']))
{
  $dato = date("j/n - Y");
  $bruger = $_POST['bruger'];  // Man bruger $_POST , $_REQUEST er meget usikker
  $tekst = $_POST['tekst'];

  // sikring af data

  $bruger = addslashes($bruger);  // hvis folk brugter ' \ osv. uden addslshashes() vil mysql brokke sig rimelige meget.
  $tekst = addslashes($tekst);

  mysql_connect("localhost", "xxxx", "xxxx") or die(mysql_error());
  mysql_select_db("xxx") or die (mysql_error());

  //indsæt indhold
  mysql_query("INSERT INTO forum(nummer,dato, bruger,tekst) values(0, '$dato','$bruger','$tekst') ");
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
  <head>
    <title>Title here!</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  </head>
  <body>
  <form name="forum" method="post" action="">
    <p>Indtast brugernavn:<input type="text" name="bruger" size="20" maxlength="20"></p>
    <p>Skiv indlæg:<textarea name="tekst"></textarea></p>
    <input type="submit" name="send" value="send">
  </form>
  </body>
</html>
Avatar billede hyberpreprocessor Nybegynder
18. april 2005 - 11:43 #6
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
  <head>
    <title>Title here!</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  </head>
  <body>
  <?php

    mysql_connect("localhost", "xxxx", "xxxx") or die(mysql_error());
    mysql_select_db("xxxx") or die (mysql_error());

    $medlem = mysql_query("SELECT * FROM forum ORDER BY nummer DESC") or die (mysql_error());

    print "<table border=\"1\">";
    while ($row = mysql_fetch_array($medlem))
    {
        print "<tr><td>".$row["dato"]."</td>
        <td>".$row["bruger"]."</td>
        <td>".$row["tekst"]."</td></tr>";
    }
    print "</table>";

  ?>
  </body>
</html>
Avatar billede hyberpreprocessor Nybegynder
18. april 2005 - 11:45 #7
Fejl rettet:

Dit doctype var forkert, brug et rigtigt.
Tilføjet charset, så slipper du fejl med æøå

Tilføjet mysql sikring af data.

Sat check på om der overhovedet bliver postet noget, nu vil du dog få en advarsel hvis du trykker "opdater" , du kan undgå det ved at redirect videre til en anden side med: header("Location: nyside.php"); efter dit mysql query.
Avatar billede hyberpreprocessor Nybegynder
18. april 2005 - 11:45 #8
Du bør forresten også lægge din connect del.

    mysql_connect("localhost", "xxxx", "xxxx") or die(mysql_error());
    mysql_select_db("xxxx") or die (mysql_error());

ned i en fil, og så include den med www.php.net/include , så skal du kun rette en fejl.
Avatar billede wizin Nybegynder
18. april 2005 - 17:07 #9
Super det fungere fint. Men nu er spørgsmålet bare hvordan får jeg lavet om i teksten så den står lidt pænere

Havde tænkt mig nogenlunde følgende

Dato str. 3 fed/kursiv

Tekst  normal
                            bruger normal str, kursiv

dette er sat ind i en ramme.. hvordan ændre man tekst osv

<?php

    mysql_connect("localhost", "danishorder", "ulztrh") or die(mysql_error());
    mysql_select_db("danishorder") or die (mysql_error());

    $medlem = mysql_query("SELECT * FROM forum ORDER BY nummer DESC") or die (mysql_error());


  print "<table border=\"0\">";

 
    while ($row = mysql_fetch_array($medlem))
    {
          print "<tr><td>".$row["dato"]."</td></tr>";
      print "<tr><td>".$row["bruger"]."</td><td>";
      print "<tr><td>".$row["tekst"]."</td></tr>";
     
   
     
    }
  print "</table>";
 
  ?>
Avatar billede hyberpreprocessor Nybegynder
19. april 2005 - 11:17 #10
lær noget CSS :)

www.html.dk/tutorials/css
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

IT-JOB

Forsvarsministeriets Materiel- og Indkøbsstyrelse

Teknologirådgiver inden for AI-området til Teknologiafdelingen

Forsvarsministeriets Materiel- og Indkøbsstyrelse

Solution Manager til Cyberdivisionen

Politiets Efterretningstjeneste

AI/ML udvikler i PET