Avatar billede dcheng Novice
07. juni 2004 - 14:43 Der er 3 kommentarer og
1 løsning

Notice: Use of undefined constant db - assumed

Jeg får følgende fejl når jeg trykker på [ADD]... Hvad er der galt?

Her er mine koder:
--- index.htm ---
<FORM ACTION="newsfunction.php" METHOD=POST>
Name<br>
<input type=text name="author" size=30><br>
Title<br>
<input type=text name="title" size=30><br>
E-Mail<br>
<input type=text name="email" size=30><br>
Story<br>
<textarea rows="2" name="story" cols="20"></textarea><br>
<input type="submit" name="submit" value="Add">
</FORM>
-------

--- newsfunction.php ---
<?php
include 'connect.php';
if ($submit) {
  $sql = "INSERT INTO news (title,author,email,story) VALUES ('$title','$author','$email','$story')";
  $result = mysql_query($sql);
    echo "DONE";
} else {
    echo "NOT DONE";
    }
mysql_close();
  ?>
-------

--- connect.php ---
<?
mysql_connect("localhost", "root", "");
mysql_select_db(db)
?>
-------

--- DATABASE ---
Feltnavn Datatype Nulværdi Standardværdi
id  int(5) Nej   
title  varchar(50) Nej   
author  varchar(50) Nej   
story  text Nej   
email  varchar(50) Nej   
time  timestamp(14) Ja  NULL
Avatar billede dcheng Novice
07. juni 2004 - 14:52 #1
Glemte at nævne fejlen:
Notice: Use of undefined constant db - assumed 'db' in C:\httproot\connect.php on line 3

Notice: Undefined variable: submit in C:\httproot\newsfunction.php on line 3
NOT DONE
Avatar billede fangel Nybegynder
07. juni 2004 - 14:52 #2
--- connect.php ---
<?
mysql_connect("localhost", "root", "");
mysql_select_db("db");
?>
-------

fordi du bare skriver db, så tror den det er en konstant og ikke en tekst-streng - ved at padde den bliver det til en tekststreng, og derfor ingen notice...

Du bør overveje at skrive din kode efter register_globals = off, da det ellers er en sikkerhedsrisiko

Morten
Avatar billede fangel Nybegynder
07. juni 2004 - 14:55 #3
fejl 2 kan være fordi du rent faktisk kører med register_globals= off, men ikke ved af det ;)

rettet version af newsfunction

--- newsfunction.php ---
<?php
include 'connect.php';
if (isset($_POST['submit'])) {
  $title = $_POST['title'];
  $author = $_POST['author'];
  $email = $_POST['email'];
  $story = $_POST['story'];

  $sql = "INSERT INTO news (title,author,email,story) VALUES ('$title','$author','$email','$story')";
  $result = mysql_query($sql)or die(mysql_error());
    echo "DONE";
}
else {
  echo "NOT DONE";
}
// du behøver ikke mysql_close... men den gør ingen skade
mysql_close();
?>
-------
Avatar billede dcheng Novice
07. juni 2004 - 15:02 #4
Yes takker det virker!
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