Problem mit "include"

Wasservogel
Danke, bin aber gleich beim nächsten Problem. Ich hab ein Kontaktformular programmiert, aber wenn ichs teste, bekomme ich die Meldung, die kommen soll, wenn ich es abgeschickt habe. Hier mein Code:

php:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Kontakt</title>
</head><body>
    <?php
    if($_POST['flag']==1)
    {
    //Delete gaps
    $_POST['name']=trim($_POST['name']);
    $_POST['mail']=trim($_POST['mail']);        
    $_POST['message']=trim($_POST['message']);
    //Delete HTML-Code
    $_POST['name']=strip_tags($_POST['name']);
    $_POST['mail']=strip_tags($_POST['mail']);
    $_POST['message']=strip_tags($_POST['message']);
    //Test, if fields are filled out
    if(!$_POST['name']){$error="Bitte geben Sie Ihren Namen an. <br>";}
    if(!$_POST['mail']){$error.="Bitte geben Sie Ihre E-Mail Adresse an. <br>";}
    if(!$_POST['message']){$error.="Bitte geben Sie eine Nachricht ein. <br>";}    
    
    if($error)
    {
    $output="<h2><font color=\"red\">\".$error.\"</font></h2>";
    unset($_POST['flag']);
    }
        else
        {
        //SQL Data
        $tablename="kontakt";
        $sql="INSERT INTO $tablename (name, mail, message) values ('".$_POST['name']."',  
        '".$_POST['mail']."',  '".$_POST['message']."', now())";
        //Connect to Database
        $link mysql_connect("localhost""****""****");
        mysql_select_db("****"$link);
        mysql_query($sql$link);
        $output="<h2>Ihre Nachricht wurde uns gesendet. Wir werden schnellstmöglich darauf antworten.</h2>
        <a href=\"index.php\">Weiter</a>";
        }
    //Output Message
    echo $output;
    }
    if(!$_POST['flag'])
    {
?>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<input type="hidden" name="flag" value="1">
<p>Ihr Name:<br>
<input type="text" name="name" value="<?php echo $_POST['name']; ?>"></p>
<p>Ihre E-Mail Adresse:<br>
<input type="text" name="mail" value="<?php echo $_POST['mail']; ?>"></p>
<p>Ihre Nachricht:<br>
<textarea name="message">
<?php echo $_POST['message']; ?>
</textarea>
</p>
<input type="submit" value="Senden">
</form>
    <?php
    }
    ?>
</body>

</html>


MfG
KleenMicha
Ich konnte es eben local ohne Probleme testen.
D.h.: ich rufe das Script auf und bekomme die Eingabemaske. nachdem erfolgreichen ausfüllen aller Felder und dem Absenden wird mir die Meldung ausgegeben dass die Mail versendet wurde.

Was ich tun würde wäre die Anfrage an die Datenbank noch etwas abzusichern, um mögliche SQL-Injunctions zu vermeiden.

php:
1:
$sql="INSERT INTO $tablename (name, mail, message) VALUES ('".addslashes($_POST['name'])."', '".addslashes($_POST['mail'])."',  '".addslashes($_POST['message'])."', now())";
Wasservogel
Hmm komisch...
Jetzt klappt es auch... mal gucken obs in der Datenbank gespeichert ist...

EDIT: Hmm speichert nicht...

MfG Phönix