Avatar billede celfa Nybegynder
17. februar 2008 - 19:14 Der er 1 kommentar og
1 løsning

Comment system.

Hej. Jeg er meget ny i php.
Jeg har en form dens action peger på dette dokument. Jeg har det til at virke nu, men det er unden Fejl idtastning. Med det mener jeg at jeg gerne ville have den til at komme op med en fejl hvis man glemmer at skrive noget i feltet navn fx. Så jeg har prøvet at redigere koden nedenfor. Men det virker ikke, og jeg ved ikke lgie hvad jeg så skal gøre.

Håber der en der kan hjælpe mig :)

<?php
$host="localhost";
$username="*****";
$password="******";
$db_name="***********";
$tbl_name="comment"; 

mysql_connect("$host", "$username", "$password")or die("Kan ikke forbinde til serveren ");
mysql_select_db("$db_name")or die("Kan ikke forbinde til databasen");
session_start();
if(isset($_POST['send'])) {
 
    if (empty($_POST['navn'];)) {
        //besked hvis brugeren ikke har indtastet noget navn
        echo"Du skal indtaste dit navn"; 
        }
    elseif (empty($_POST['email'])) {
        //besked hvis brugeren ikke har indtastet nogen e-mail
        echo "Du skal indtaste din e-mail"; 
          }
    elseif (empty($_POST['comment'])) {
        //besked hvis brugeren ikke har indtastet nogen besked
        echo "Du skal indtaste en besked"; 
          }
      else {
        $tut_id=$_SERVER['HTTP_REFERER'];
        $pos = strrpos($tut_id, "/");
        $tut_id = substr($tut_id, $pos);
        $dato=date("d M Y H:i:s");
          $navn = $_POST['navn'];
          $comment=$_POST['comment'];
          $email=$_POST['email'];
        $hjemmeside=$_POST['hjemmeside'];

       

$sql="INSERT INTO $tbl_name(tut_id, dato, navn, comment, email, hjemmeside)VALUES('$tut_id', '$dato', '$navn', '$comment', '$email', '$hjemmeside')";
$result=mysql_query($sql);

if($result){
header("location:" . $_SERVER['HTTP_REFERER']);
}

else {
echo "Fejl";
}

mysql_close();
?>
Avatar billede kjeldsted Novice
18. februar 2008 - 13:49 #1
Det din kode
if (empty($_POST['navn'];)) {
        //besked hvis brugeren ikke har indtastet noget navn
        echo"Du skal indtaste dit navn"; 
        }
gør, er at den skriver "Du skal indtaste dit navn" hvis ikke navnet er indtastet. Men det forhindre ikke PHP i at udføre den komando hvor din indsætte data'ene. Det du skal gøre er at udskifte

echo "Meddelse ved fejl";

med

die('Meddelse ved fejl');

Hvis du bruger die() i stedet for echo, vil den udskrive fejl meddelsen og ikke gøre ydeligere. Altså heller ikke indsætte værdierne i tabellen.
Avatar billede celfa Nybegynder
07. marts 2008 - 20:27 #2
fik den selv til at virke på en anden måde :)
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