Daten aus Formular in MySql Datenbank speichern

ShOrtYk

Mitglied
Nabend zusammen,

seid mir bitte nicht böse, aber ich find einfach nicht das, was ich suche.
Ich hab schon mit Google die Seiten abgeklappert, hab hier im Forum gesucht, aber wenn Lösungen zu finden sind, dann sind diese schon weiter als mein Wissensstand :D

Also nun aber zu meiner Frage bzw. zu meinem Problem.
Ich möcht per Formular einige Angaben in eine MySql Datenbank speichern.
Ich hab auch schon mehrere Varianten ausprobiert, da ich so weit sehr experimentierfreudig bin, aber irgendwann reichts ;)
Mein Problem ist, dass wenn ich z.B. per
Code:
<form action="datei.php"
die Variablen speichern möchte, er mir dauernd meldet, die wären alle undefiniert.
Wenn ich das ganze unten an die Formulardatei anhänge, passiert gar nix.
Die Datenbankverbindung steht, das hab ich schon alles genau geprüft, da liegt also nicht das Problem.
Ich hab zu Beginn versucht die Formularfelder nur als
Code:
name="variable"
zu definieren.
Als das nicht ging, was ich auch schon vermutet hatte, hab ich folgendes probiert
Code:
name="<?php echo $variable;?>"
- ging auch nicht.
Ich hab im PHP Manual unter PHP und HTML nachgesehen - da steht was ganz seltsames....

Nun habe ich vorhin hier im Forum die Sachen mit
$variable=$HTTP_POST_VARS.... gelesen.
Was muss den dort im Formularfeld angegeben werden?

Ich blick mittlerweile vor lauter möglichen Lösung nimmer durch.
Achja... ich test das ganze aufm lokalen Apache 2.0.50 mit PHP 4.3.8
und MySql 4.0.20

Ich hoffe den Wald vor lauter Bäumen nicht zu sehen :D
und dass es nicht allzu kompliziert ist, die Sache umzusetzen.

PS: Die Tutorials hier sind wirklich genial *daumenhoch*

Danke im Voraus

***
Kleine Ergänzung - Global Registers könnte daran Schuld sein.
Wie ist das bei Webspaceanbietern?
Was haben die meisten dort eingestellt?
Da die Lösung auf sovielen Servern wie möglich laufen soll, möcht ich dies nach Möglichkeit umgehen, da falls die Einstellung falsch getroffen ist, man das ganze vergessen kann.
Ich hab mal bei meinem WebspacePaket per phpinfo nachgeschaut, konnte aber nichts von Global Registers finden.
 
Zuletzt bearbeitet:
War wohl nix.
Habs so probiert und auf der Seite nach dem Formular, das die Daten in die Datenbank schreiben soll, kommen ersteinmal wieder die bekannten Fehlermeldungen von wegen undefiniert (diesmal Array).
Er erstellt zwar einen Eintrag, aber er übernimmt nicht die Werte aus dem Formular für diesen Eintrag, sondern entweder die Standard Werte oder halt leer.
 
Wenn es nicht zu viel Code ist, poste ihn doch mal - auch, wenn es mehrere Dateien sind, die damit zu tun haben! Das Fehlerchen sollte jazu finden sein!
 
Wenn du in "datei.php" die HTTP_POST_VARS abfragst, musst die im Formular die Übermittlungsmethode "POST" angeben:

Code:
<form action="datei.php"method="post">

Bei den Formularfeldern gebe als name den Namen der Variablen an, welche du übermitteln willst(so wie im ersten Versuch:))

Willst du einen bestimmten Wert übermitteln, gehört das in den value

Code:
<form action="datei.php"method="post">
<input type="text"name="deineVariable"value="deinWert">
</form>

in datei.php kannst du diese Variable dann so ausgeben(oder was andres damit machen):
PHP:
<?php
echo $_POST['deineVariable'];
//Ausgabe:deinWert
?>


Zum Register Globals:

Wenn das on ist, kannst du die Variable auch per
PHP:
<?php
echo $deineVariable;
//Ausgabe:deinWert
?>

ansprechen....es ist jedoch empfehlenswerter, die erste Variante zu benutzen...
weil:
  • sie immer funktioniert, egal wie Register globals eingestellt ist
  • Du damit halbwegs sicher sein kannst, dass diese Variable auch da herkommt, wo sie soll, nämlich von einem per POST gesendeten Formular
 
Vielleicht habe ich mich undeutlich ausgedrückt, aber ich möchte, dass ein Benutzer das Formular ausfüllt und die Daten dann in MySql übergeben werden.
Mit value="" wird doch ein Wert für das Feld vorbestimmt und es ist auch schon ausgefüllt wenn man es ausruft.
@fatalus: Wenn ich die Variablen mit $_POST wieder aufrufen soll, wie muss da der Befehl für die Eingabe in die Datenbank heissen?
@Sebastianus:
An dem Formular ist ja nichts falsch, das isses ja... :)
Ich muss nur wissen, wie die eingegebenen Werte aus dem Formular in die MySql Datenbank kommen. Die Verbindung zur Datenbank funktioniert ja, das hab ich schon per echo Ausgabe getestet.
 
Folgendes Schema-F:

PHP:
if(isset($form_name))
     {
     mysql_query("INSERT INTO tabelle (name) VALUES ('".$_POST['form_name']."')");
     }
     else
     {
     echo "<form action=\"$_SERVER[PHP_SELF]\" method=\"POST\">";
     echo "<input type=\"text\" name=\"form_name\">";     
     echo "<input type=\"submit\" name=\"form_submit\" value=\"abschicken\"></form>";
     }

So, jetzt haste nen Beispiel wie man Daten in die DB bekommt - mehr wolltest du ja anscheinend nicht ODer noch Fragen?
 
Ja eine Frage hätt ich da spontan noch....
würde es das ganze einfacher machen, wenn ich das Formular PHP mäßig aufbaue?
also etwa so
PHP:
echo "<form action=\"modules.php\" method=\"POST\">" 
    ."<input type=\"text\" name=\"titel\" size=\"30\" maxlength=\"50\"><br><br>"
würde es dann einfacher werden, die Werte der Felder zu übergeben?
 
Zurück