In MySQL Formulardaten speichern
Michaela Zigler
- php
Hallo!
So nun muß ich mich doch mal wieder an euch wenden, hätte ich nicht hellblonde Haare, würden sie jetzt grau werden ;-)
Habe folgendes Problem:
Habe ein Formular, -diese Daten sollen in eine MySQL Datenbank gespeichert werden, aber ich bekomme immer folgende Meldung:
"" Forbidden ... You don't have permission to access /_BereichJuPu/_Projekte/Der Datensatz konnte leider nicht gepeichert werden. Pruefen Sie Ihre Eingaben und versuchen es noch einmal.<p> on this server. ""
ABER WARUM ??? mann mann, bin ich so unfähig ???
Habe soweit doch alles richtig gemacht, denke ich, aber weis einfach nicht mehr weiter... anbei eine Ausschnitt vom Quellencode:
....
<form name="Projekt anlegen" method="post" action="
<?php {
include("../_hidden/db_connect2.inc");
if(@mysql_connect($host, $user, $pwd))
{
if(@mysql_select_db($dbname))
{
$sql = "INSERT INTO $tblname1 (verfolgungspflichtig, projektnummer, durckdatum, sumession, nachfaßdatum, zuschlagstermin, rückmeldetermin, projektbezeichnung, angebotskreis, angebotsnummer, ablage, wert, auftraggeber, ansprechpartner, telefonnummer) VALUES ("
. "'$verfolgungspflichtig', "
. "'$projektnummer', "
. "'$druckdatum', "
. "'$submession', "
. "'$nachfaßdatum', "
. "'$zuschlagstermin', "
. "'$rückmeldetermin', "
. "'$projektbezeichnung', "
. "'$angebotskreis', "
. "'$angebotsnummer', "
. "'$ablage', "
. "'$wert', "
. "'$auftraggeber', "
. "'$ansprechpartner', "
. "'$telefonnummer');";
if(@mysql_query($sql))
{
echo "<h1>Eintrag erfolgreich</h1>\n";
echo "Die neue Kontaktperson <b>$projektnummer $angebotsnummer</b> wurde erfolgreich eingetragen.<p><hr>";
}
else
{
echo "Der Datensatz konnte leider nicht gepeichert werden. ";
echo "Pruefen Sie Ihre Eingaben und versuchen es noch einmal.<p>\n";
}
} //mysql_select_db()
else
echo "<br><i>Verbindung zur Datenbank ist im Moment nicht möglich!</i><br>\n";
mysql_close();
} //mysql_connect()
else
echo "<br><i>Der Server ist wegen Wartungsarbeiten voruebergehend nicht erreichbar.</i><br>\n";
}
?>
">
<p><strong>Stammdaten:</strong> </p>
<table width="88%" border="0">
<tr>
<td width="34%"><p>Verfolgungspflichtig</p></td>
<td width="66%"><p>
<input type="radio" name="verfolgungspflichtig" value="radiobutton">
ja, ist verfolgungspflichtig (verfolgungspflichtig)</p></td>
</tr>
....
das ganz wurde auch als .php gespeichert
Vielen dank...
Michaela
Hi, nochmal ein Nachtrag:
Habe es auch mal so versucht:
...
<form name="Projekt anlegen" method="post" action="/_hidden/PAnlage_DB.php">
<p><strong>Stammdaten:</strong> </p>
<table width="88%" border="0">
<tr>
<td width="34%"><p>Verfolgungspflichtig</p></td>
<td width="66%"><p>
<input type="radio" name="verfolgungspflichtig" value="radiobutton">
ja, ist verfolgungspflichtig (verfolgungspflichtig)</p></td>
</tr>
...
Jetzt bekomme ich diese Meldung:
Forbidden
You don't have permission to access /_hidden/PAnlage_DB.php on this server.
Hilfeeeeee.... :-))
Hi!
Jetzt bekomme ich diese Meldung:
Forbidden
You don't have permission to access /_hidden/PAnlage_DB.php on this server.
Gibt es den Pfad /_hidden/PAnlage_DB.php direkt in Deinem document-root?
Was passiert wenn Du www.deinserver.de/_hidden/PAnlage_DB.php direkt angibst?
Grüße
Andreas
Hallo,
also soweit habe ich jetzt mal alles nach Anleitung ;-) gemacht, ein Vortschritt...
aber...
In diesem php ist wohl nich der Wurm drinnen, den jetzt bekomme ich nur noch folgende Ausgabe im Browser:
"Der Datensatz konnte leider nicht gepeichert werden. Pruefen Sie Ihre Eingaben und versuchen es noch einmal."
Die bedeutet doch, daß die Felder nicht gespeichert wurde, oder ???
wo liegt jetzt darin noch das Problem... Hilfe :-))
<?php {
include("../hidden/db_connect2.inc");
if(@mysql_connect($host, $user, $pwd))
{
if(@mysql_select_db($dbname))
{
$sql = "INSERT INTO $tblname1 (verfolgungspflichtig, projektnummer, durckdatum, sumession, nachfaßdatum, zuschlagstermin, rückmeldetermin, projektbezeichnung, angebotskreis, angebotsnummer, ablage, wert, auftraggeber, ansprechpartner, telefonnummer) VALUES ("
. "'$verfolgungspflichtig', "
. "'$projektnummer', "
. "'$druckdatum', "
. "'$submession', "
. "'$nachfaßdatum', "
. "'$zuschlagstermin', "
. "'$rückmeldetermin', "
. "'$projektbezeichnung', "
. "'$angebotskreis', "
. "'$angebotsnummer', "
. "'$ablage', "
. "'$wert', "
. "'$auftraggeber', "
. "'$ansprechpartner', "
. "'$telefonnummer');";
if(@mysql_query($sql))
{
echo "<h1>Eintrag erfolgreich</h1>\n";
echo "Die neue Kontaktperson <b>$projektnummer $angebotsnummer</b> wurde erfolgreich eingetragen.<p><hr>";
}
else
{
echo "Der Datensatz konnte leider nicht gepeichert werden. ";
echo "Pruefen Sie Ihre Eingaben und versuchen es noch einmal.<p>\n";
}
} //mysql_select_db()
else
echo "<br><i>Verbindung zur Datenbank ist im Moment nicht möglich!</i><br>\n";
mysql_close();
} //mysql_connect()
else
echo "<br><i>Der Server ist wegen Wartungsarbeiten voruebergehend nicht erreichbar.</i><br>\n";
}
?>
DANKE... Knut...
Michaela
Hi!
aber...
In diesem php ist wohl nich der Wurm drinnen, den jetzt bekomme ich nur noch folgende Ausgabe im Browser:
"Der Datensatz konnte leider nicht gepeichert werden. Pruefen Sie Ihre Eingaben und versuchen es noch einmal."
Die bedeutet doch, daß die Felder nicht gespeichert wurde, oder ???wo liegt jetzt darin noch das Problem... Hilfe :-))
Sorry, aber ein bisschen kannst Du ja auch selbst mal probieren. Gucke Dir an wo die Fehlermeldung herkommt, dann verstehst Du an welcher Stelle das Problem liegt. Ich empfehle schrittweise vorzugehen, mache erstmal ne kleine Datenbank-Abfrage mit PHP, dann schick mal Formulardaten an PHP... bis Du dann am Ende alls zusammen machen kannst.
Ich empfehle Dir folgende Seiten:
http://www.php3.de/manual/de/tutorial.forms.php
http://www.php3.de/manual/de/language.variables.external.php
http://php-faq.de/q/q-formular-register-globals.html
http://de3.php.net/manual/de/security.registerglobals.php
http://php-faq.de/q/q-mysql-zugriff.html
http://www.php3.de/manual/de/ref.mysql.php
Grüße
Andreas
Halihallo Michaela
Jetzt bekomme ich diese Meldung:
Forbidden
You don't have permission to access /_hidden/PAnlage_DB.php on this server.
Ich nehme meine vorangegangene Aussage des ersten Absatzes zurück, die war falsch.
Du hast IMHO irgendwo einen Syntaxfehler. Eine nicht geschlossene Klammer o. ä.
Viele Grüsse
Philipp
Halihallo Michaela
Habe ein Formular, -diese Daten sollen in eine MySQL Datenbank gespeichert werden, aber ich bekomme immer folgende Meldung:
"" Forbidden ... You don't have permission to access /_BereichJuPu/_Projekte/Der Datensatz konnte leider nicht gepeichert werden. Pruefen Sie Ihre Eingaben und versuchen es noch einmal.<p> on this server. ""
Das sagt ja alles: You don't have permission. Überprüfe die Einstellungen $host, $user,
$pwd und vergleiche sie mit den richtigen Informationen. Sind die Einstellungen richtig?
Nun, da der Fehler erst bei mysql_query kommt, wäre es naheliegender, dass du auf eine
bestimmte Tabelle o. ä. keinen Zugriff hast. In PHP ist der Fehler auf jeden Fall nicht
zu suchen.
<?php {
include("../_hidden/db_connect2.inc");
^^^^^^^^^^^^^^^^^^ ^^^^^
das ist BÖSE! - .inc kann normalerweise jeder lesen! - In plain/text. Ändere dies besser
in .php oder konfiguriere den Webserver ggf. so, dass nicht jeder deine .inc's lesen
kann.
Viele Grüsse
Philipp
Hi!
Habe ein Formular, -diese Daten sollen in eine MySQL Datenbank gespeichert werden, aber ich bekomme immer folgende Meldung:
"" Forbidden ... You don't have permission to access /_BereichJuPu/_Projekte/Der Datensatz konnte leider nicht gepeichert werden. Pruefen Sie Ihre Eingaben und versuchen es noch einmal.<p> on this server. ""ABER WARUM ??? mann mann, bin ich so unfähig ???
Naja, hast Du Dir mal die Fehlermeldung genau angeguckt, und dann den Code? Findest Du vielleicht einen Teil der Fehlermeldung im Code? Hast Du das Script selbst geschrieben? Wieso fügst Du das PHP-Script in das Formular Action-Attribut ein? Wenn Dein Script aufgerufen wird - was passiert dann? Da Du nicht prüfst ob es sich um ein abgeschicktes Formular handelt, wird sofort das komplette PHP-Script mit insert... ausgeführt. Das scheitert dann, gibt eine Fehlermeldung halt im action-Attribut des form-tags aus(was Du nur merken würdest wenn Du mal aus Spaß in den HTML-Quelltext der Seite in Deinem Browser gucken würdest), und dann schickst Du das Formular ab, und zwar an die Fehlemeldung, wobei der Browser ja denkt dass es ein Dateipfad ist.... daher die Fehlermeldung. Gucke in den HTML-Quelltext!
Grüße
Andreas
Hi!
Du hast gefunden wo die erschienende Fehlermeldung im Code steht? Dann kannst Du an dieser Stelle auch mal mysql_error() ausgeben, darin steht dann auch wieso mysql_query() scheitert. Ohne diese Angabe kann man schlecht wissen wieso mysql Probleme mit der Query hat.
Grüße
Andreas