eintrag in datenbank aus formular funktioniert nicht

michichi

Grünschnabel
hallo,

ich bin ein ziemlicher neuling bezügl php und mysql, aber jetzt hab ich schon das ganze forum durchforstet, aber mein code funktioniert einfach nicht :(

bitte um hilfe!

ich hab ein formular, wo text eingetragen werden kann, dann soll der text nochmal angezeigt werden um ihn zu überprüfen, dann soll der inhalt in eine mysql datenbank geschrieben und angezeigt werden.

formularnew.php (formular - eingabe)

PHP:
<?php
$DBHost   = "localhost";
$DBName   = "sky";
$DBUser   = "root";
$DBPasswd = "";


// Verbindug zu DB-Server herstellen
mysql_connect($DBHost, $DBUser, $DBPasswd)
    OR die("Konnte DB-Server nicht erreichen");
mysql_select_db($DBName);

if (isset($_POST['submit'])){
$sql = sprintf('INSERT INTO projects
					(projtitle,projutitle,projclient,projcite,projinhalt,projwork,projtime,projlink,projimgcopy)
				VALUES ("%s","%s","%s","%s","%s","%s","%s","%s","%s")',
				mysql_real_escape_string($projtitle),
				mysql_real_escape_string($projutitle),
				mysql_real_escape_string($projclient),
				mysql_real_escape_string($projcite),
				mysql_real_escape_string($projinhalt),
				mysql_real_escape_string($projwork),
				mysql_real_escape_string($projtime),
				mysql_real_escape_string($projlink),
				mysql_real_escape_string($projimgcopy));
$query = mysql_query($sql);
echo mysql_error();


header('Location: http://localhost/formularausgabe.php');

die();

}

else {
  $_POST["projtitle"] = "";
  $_POST["projutitle"] = "";
  $_POST["projclient"] = "";
  $_POST["projcite"] = "";
  $_POST["projinhalt"] = "";
  $_POST["projwork"] = "";
  $_POST["projtime"] = "";
  $_POST["projlink"] = "";
  $_POST["projimgcopy"] = "";
}
?>
<html>
<head>
<title>titel</title>
</head>
<body bgcolor="#ffffff">

<table border="0" width=980 height=570 align="center" cellpadding="0" cellspacing="0">
       <tr height="25%">
       <td width="6%" rowspan="4">&nbsp;</td>
	<td width="91%"></td>
        <td width="3%" rowspan="4">&nbsp;</td>
       </tr>
       <tr height="8%">
       <td>&nbsp;</td>
       </tr>
       <tr height="59%">
         <td class="txt"><p>Neues Projekt anlegen:</p>
         <p align="right"><form action="formularnew.php" method="POST" name="formular">
         Projekttitel&nbsp; <input type="text" name="projtitle" id="projtitle" value="<?php echo ($_POST['projtitle']); ?>" size="80" maxlength="255"><br>
         Untertitel&nbsp; <input type="text" name="projutitle" id="projutitle" value="<?php echo ($_POST['projutitle']); ?>" size="80" maxlength="255"><br>
         Auftraggeber&nbsp; <input type="text" name="projclient" id="projclient" value="<?php echo ($_POST['projclient']); ?>" size="80" maxlength="255"><br>
         Zitat&nbsp; <input type="text" name="projcite" id="projcite" value="<?php echo ($_POST['projcite']); ?>" size="80" maxlength="255"><br>
         Projektbeschreibung&nbsp; <input type="text" name="projinhalt" id="projinhalt" value="<?php echo ($_POST['projinhalt']); ?>" size="80" maxlength="255"><br>
         Aufgaben&nbsp; <input type="text" name="projwork" id="projwork" value="<?php echo ($_POST['projwork']); ?>" size="80" maxlength="255"><br>
         Zeitraum&nbsp; <input type="text" name="projtime" id="projtime" value="<?php echo ($_POST['projtime']); ?>" size="80" maxlength="255"><br>
         Link&nbsp; <input type="text" name="projlink" id="projlink" value="<?php echo ($POST['projlink']); ?>" size="80" maxlength="255"><br>
         Bildcopyright&nbsp; <input type="text" name="projimgcopy" id="projimgcopy" value="<?php echo ($_POST['projimgcopy']); ?>" size="80" maxlength="100"><br>
         <input type="submit" value="Abschicken" name="submit">
  	<input type="reset" value="Zur&uuml;cksetzen" name="reset"></form></p>
         </td>
       </tr>
</table>

</body>
</html>

und formularausgabe.php

PHP:
<?php
$DBHost   = "localhost";
$DBName   = "sky";
$DBUser   = "root";
$DBPasswd = "";


// Verbindug zu DB-Server herstellen
mysql_connect($DBHost, $DBUser, $DBPasswd)
     OR die("Konnte DB-Server nicht erreichen");
mysql_select_db($DBName);

?>
<html>
<head>


<title>titel - ausgabe</title>
</head>
<body bgcolor="#ffffff">

<!-- beginn tabelle hauptseite -->
<table border="0" width=980 height=570 align="center" cellpadding="0" cellspacing="0">
       <tr height="25%">
       <td width="6%" rowspan="4">&nbsp;</td>
	<td width="91%"></td>
        <td width="3%" rowspan="4">&nbsp;</td>
       </tr>
       <tr height="8%">
       <td>&nbsp;</td>
       </tr>
       <tr height="59%">
         <td class="txt"><?php

$res = mysql_query('select projtitle, projutitle, projclient, projcite, projinhalt, projwork, projtime, projlink, projimgcopy
                    from projects');
echo mysql_error();

while ($row = mysql_fetch_assoc($res)){
echo "<div>Projekttitel:    ".$row['projtitle']."</div>\n";
echo "<div>Projektuntertitel:    ".$row['projutitle']."</div>\n";
echo "<div>Auftraggeber:    ".$row['projclient']."</div>\n";
echo "<div>Zitat:    ".$row['projcite']."</div>\n";
echo "<div>Projektext:    ".$row['projinhalt']."</div>\n";
echo "<div>Aufgaben:    ".$row['projwork']."</div>\n";
echo "<div>Zeitraum:    ".$row['projtime']."</div>\n";
echo "<div>Weblink:    ".$row['projlink']."</div>\n";
echo "<div>Bildcopyright:    ".$row['projimgcopy']."</div>\n";
}
?>
</td>
       </tr>
       <tr height="8%"><!--kontaktleiste-->
         <td width="91%" align="right" class="kontakt"><a href="formularnew.php">neuen Eintrag hinzufügen</a></td>
       </tr>
</table>

</body>
</html>
 
vielen dank.

es kommt keine fehlermeldung. es wird nur das leere formular angezeigt und wenn ich dann in die datenbank schaue, ist nichts eingetragen. :(

danke für den tip bez. register globals

ich hab die formularnew.php (formular-eingabe) folgendermaßen umgeschrieben:
PHP:
// Verbindug zu DB-Server herstellen
mysql_connect($DBHost, $DBUser, $DBPasswd)
    OR die("Konnte DB-Server nicht erreichen");
mysql_select_db($DBName);

if (isset($_POST['submit'])){
$sql = "INSERT INTO projects
		   (projtitle,projutitle,projclient,projcite,projinhalt,projwork,projtime,projlink,projimgcopy)
				VALUES ('". $_POST['projtitle']."', '". $_POST['projutitle']."', '". $_POST['projclient']."', '". $_POST['projcite']."', '". $_POST['projinhalt']."', '". $_POST['projwork']."', '". $_POST['projtime']."', '". $_POST['projlink']."', '". $_POST['projimgcopy']."')";
$query = mysql_query($sql);
echo mysql_error();


header('Location: http://localhost/formularausgabe.php');

die();

}

else {
  $_POST["projtitle"] = "";
  $_POST["projutitle"] = "";
  $_POST["projclient"] = "";
  $_POST["projcite"] = "";
  $_POST["projinhalt"] = "";
  $_POST["projwork"] = "";
  $_POST["projtime"] = "";
  $_POST["projlink"] = "";
  $_POST["projimgcopy"] = "";
}
?>

jetzt trägt er nur leere felder in die datenbank ein und bei der formularausgabe zeigt er die leeren felder an...
wie muss ich den code umschreiben damit ich register_globals so lassen kann wie's ist?
bin nicht sicher ob die syntax bei "insert into --> values" richtig ist

lg
 
Zurück