Gå til innhold

Noe er feil i scriptet, men skjønner ikke. LØST


Anbefalte innlegg

Driver å lager et simpelt forum, men navnet blir bare "0" (uten quotes)...skjønner ikke hvorfor det. Det fungerte jo i starten.

 

Her er koden:

<?php
if (isset($_POST['create'])) {
$con = mysql_connect("localhost","brukernavn","passord");
if (!$con)
 {
 die('Could not connect: ' . mysql_error());
 }
mysql_select_db("database_navn", $con);

$name = mysql_real_escape_string($_POST['name']);
$email = mysql_real_escape_string($_POST['email']);
$topic = mysql_real_escape_string($_POST['topic']);
$content = mysql_real_escape_string($_POST['content']);
$date = date('d m Y');
$views = '0';
$replies = '0';
$sql="INSERT INTO anders_forum_topic (name, email, topic, content, date, views, replies)
VALUES ('$name','$email','$topic','$content','$date','$views','$replies')";
if (empty($name) || empty($email) || empty($topic) || empty($content)) {
die('You need to fill out all the fields!
</body>
</html>');
}
if (!mysql_query($sql,$con))
 {
 die('Error: ' . mysql_error());
 }
echo "<meta http-equiv=\"refresh\" content=\"0;url=index.php\" />";
mysql_close($con);
}
else {
?>
<form action="" method="post">
<p><b>Name</b><br /><input type="text" name="name" /></p>
<p><b>Email</b><br /><input type="text" name="email" /></p>
<p><b>Topic</b><br /><input type="text" name="topic" /></p>
<p><b>Content</b><br /><textarea rows="4" cols="50" name="content"></textarea></p>
<p><b> </b><br /><input type="submit" name="create" value=" Create topic " /></p>
</form>
<?php
}
?>

 

Koden er forresten for å legge til nytt emne. Dere kan jo se selv hva som skjer når dere legger til. (Klikk på "create topic eller create new topic. Husker ikke hva det står nå)

Endret av Andy-Pandy
Lenke til kommentar
Videoannonse
Annonse

Navnet er jo lagret som en int, altså et heltall. Ikke rart du ikke får lagret noen bokstaver der da.. :)

Bytt til den til varchar, så blir det nok bra.

 

Og når du først er i gang kan du endre views og replies til int, siden det gir lite mening i å lagre et lite heltall i et felt beregnet på lengre tekster.

Email og topic kan nok også lagres som varchar(255), siden de neppe blir lengre enn 255 tegn. Datoen bør lagres som et ordentlig date-felt, og ikke text. Da må den ha riktig format (yyyy-mm-dd) når den settes inn, men til gjengjeld kan du bruke "SELECT YEAR(date) AS year FROM tabell" osv. Se http://dev.mysql.com/doc/refman/5.0/en/dat...-functions.html

 

Og se feks http://www.htmlite.com/mysql003.php for en oversikt over datatypene som finnes i mysql.

Endret av -morten
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...