supergecko
Goto Top

Datenübergabe mittels POST an SQL Tabelle

Hallo liebe Community,
ich habe ein Problem bei einem Formular, dessen Inhalt in eine SQL-Tabelle eingespeist werden soll.

Das Formular befindet sich in Form.php, die Verbindungsdatei zur DB in Con.php, diese funktioniert auch.
Form.php sieht so aus:
2a496e76032e298e1c03bbf72c6edd1a-form.php

Die Formularfelder usw sind erstellt, Übergabe Methode ist POST, SQL Tabelle die die Datensätze aufnehmen soll ist auch erstellt.
Allerdings passiert beim klicken auf den "Submit"-Buttons nichts ausser das die Seite neu geladen wird.
Eigentlich sollten die im Formular eingegebenen Daten in einer Dynamischen Tabelle unterhalb des Formulars auftauchen.
Es findet aber keine Datenübergabe statt und ich weis nicht ob im "Submit" action="" etwas eingetragen werden muss.
Hier der Quellcode des Buttons:
<label>
<input type="submit" name="submit" id="Subticket erstellen" value="Subticket erstellen" action=""/>
</label>
Falls ihr mehr/andere Informationen zur Problemlösung braucht schreibt das bitte, häng da schon ne ewigkeit dran^^.
MFG Supergecko

Content-ID: 103875

Url: https://administrator.de/contentid/103875

Ausgedruckt am: 26.11.2024 um 08:11 Uhr

70620
70620 11.12.2008 um 15:10:57 Uhr
Goto Top
Naja dein Form-Button ruft eine Seite auf, in diesem Falle sollte dies die Seite sein, welche dann die DB Verbidnung herstellt und dort die Daten reinschreibt.

Die scheint bei dir nicht der Fall zu sein, also gucke man was bei <form action=""> steht
Chibisuke
Chibisuke 11.12.2008 um 15:24:45 Uhr
Goto Top
Hi,

ich kann jetzt nur von einem Script ausgehen dass ich mir vor Jahren mal zusammengeschustert habe um Daten in eine SQL-DB zu bringen, aber es sollte funktionieren.

Der Button selbst ist weniger wichtig, der aus meinem Script sah so aus:
<input type="Submit" name="submit" value="Abschicken">

Die entscheidende Stelle war die Eröffnung des Formulars:
<form action="submit.php" method="POST">

In der submit.php konnte ich die Daten dann per $_POST["feldname"] direkt abgreifen, bzw. ich habe sie erstmal per $varname=$_POST["feldname"]; in PHP-Vars übertragen.

Hoffe das hilft ein wenig weiter.

~Chibi~
Supergecko
Supergecko 11.12.2008 um 15:38:11 Uhr
Goto Top
danke dass hilft mir schonmal weiter
Arano
Arano 11.12.2008 um 16:32:00 Uhr
Goto Top
Moin !

Erstmal, wenn man nicht weiss ob man dort etwas eintragen sollte, dann sollte man vielleicht einmal nachlesen ob man das tun sollte: SelfHTML - Formularbereich definieren
Im einleitenden <form>-Tag geben Sie mit dem Pflichtattribut action an, an welchen URI die Formulardaten beim Absenden des Formular übertragen werden sollen (action = Aktion). Der URI sollte die Adresse eines Programmes auf dem Server-Rechner sein, das die Formulardaten weiterverarbeitet. Üblicherweise handelt es sich dabei um ein CGI-Script, das z.B. in Perl und PHP geschrieben wurde.

Dann hat dich Chibisuke schon mal gut in die richtige Richtung gelenkt.

In der Datei die die Formulardaten entgegennimmt musst du dann natürlich noch den Datenbank-Query bauen der die Daten beim abschicken an die Datenbank in dieser speichert, dies könnte z.B. so aussehen:
<?php
 $query="INSERT INTO `tabelle` (`vname`,`nname`,`zahlenwert`)  
              VALUES ('".$_POST['vorname']."',  
                      '".$_POST['nachname']."',  
                      ".$_POST['alter'].")";  
 // $myCon = Variable mit der Datenbankressourcenkennung die schon erstellt wurde.
 //Ansonsten müsste noch eine Verbindung zur Datenbank hergestellt werden !
 $result = @mysql_query($query,$myCon);
 if($result===TRUE)
  echo 'Daten wurden eingetragen !';  
 else echo 'Datenbankfehler #'.mysql_errno().' - '.mysql_error();  
?>
Dies ist nur ein simples Beispiel das noch sehr anfällig für Injections ist (Stichwort: "Benutzereingabenüberprüfung")

~Arano
Supergecko
Supergecko 12.12.2008 um 09:54:44 Uhr
Goto Top
Hi Arano vielen Danke für deine Hilfe hat mir sehr geholfen.
Mein Einziges Problem ist jetzt noch, dass die richtige Datenbank nicht eingebunden wird.
Kannst du mir ein Codebeispiel einer Datenbankressourcenkennung zeigen?
Mfg Supergecko
Chibisuke
Chibisuke 12.12.2008 um 14:02:15 Uhr
Goto Top
Zitat von @Supergecko:
Kannst du mir ein Codebeispiel einer Datenbankressourcenkennung zeigen?

Du meinst den Connect und die Auswahl der Datenbank auf dem DB-Server? Kann mir ansonsten nicht wirklich vorstellen was du mit "ressourcenkennung" meinen könntest. ^^;

//Verbinden zum DB-Server
$link=mysql_connect("$mysqlhost","$mysqluser","$mysqlpassword") or die("DB-Server nicht erreichbar");  
//Verbinden zur DB
mysql_select_db("$mysqldb") or die("DB kann nicht geöffnet werden");  
Supergecko
Supergecko 12.12.2008 um 15:47:50 Uhr
Goto Top
Vielen Dank für das Beispiel, dann kann es nicht an meinem code liegen, sondern am anbieter des webspaces, da ich genauso meine datenbank ansteuer und phpmyadmin mir db und tabelle als vorhanden anzeigt.
Hoster ist kilu.de sind da solche Probleme bekannt?