Antworten auf deine Fragen:
Neues Thema erstellen

Antworten zum Thema „Formulardaten sollen in einer Db gespeichert werden“

limubai81

Nicht mehr ganz neu hier

hiho ich habe hier ein uploadformular erstellt mit welchen ich bilder in einen vorbestimmten ordner lade. nun möchte ich gerne den bildnamen ($name) und den dazugehörigen text ($text) in einer Db speichern. Der sinn besteht darin später die hochgeladen bilder mit der dazugehörigen beschreibung auf einer anderen seite wieder ausgeben zu lassen. aber ich komme gerade nicht weiter, ich habe bestimmt irgendwo einen totalen denkfehler drin.

also die tabelle hab ich so erstellt:
PHP:
CREATE table bilder (id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, pfad TEXT, text TEXT)
und das script schaut so aus
PHP:
    $_db_host = "localhost";           
    $_db_datenbank = "xxxx";
    $_db_username = "xxxx";
    $_db_passwort = "xxxx";



$text = $_POST['text'];
$uploadpfad = "upload/";
if(isset($_POST['submit'])){ 
$tmp_name = $HTTP_POST_FILES['datei']['tmp_name'];       
$name = $HTTP_POST_FILES['datei']['name'];          
                


        
            if(move_uploaded_file($tmp_name, $uploadpfad.$name)){
                echo "<strong>Die Datei ".$name." wurde erfolgreich hochgeladen...</strong>"; 
                    $link = mysql_connect($_db_host, $_db_username, $_db_passwort);
                    if (!$link)
                    {
                    die("Keine Datenbankverbindung möglich: " . mysql_error());
                    }
                    $datenbank = mysql_select_db($_db_datenbank, $link);
                    mysql_query("INSERT INTO bilder  (pfad,text) VALUES ('".$name."','".$text."')");
                    if (!$datenbank)
                    {
                    echo "Kann die Datenbank nicht benutzen: " . mysql_error();
                    mysql_close($link);       
                    exit;                   
                    }
                    }
                    else{echo "Datei konnte nicht verschoben werden ... <br />";}    
}
?>

<form action="" enctype="multipart/form-data" method="post">
<fieldset style="width:650px">
<legend>Dateiupload</legend>
<input type="file" name="datei" size="25" /></label>
<input type="text" name="text" size="100"/>
<br /><br />
<input type="submit" value="Datei Hochladen" name="submit" align="right"/>
</fieldset>
</form>
wäre mal wieder echt super wenn mir da jemand weiterhelfen könnte
lg Limu
 
Zuletzt bearbeitet:

thexe

ein Albtraum

AW: Formulardaten sollen in einer Db gespeichert werden

was mir so ins auge springt is folgendes, vllt hilfts ja schon:
PHP:
if(move_uploaded_file($tmp_name, $uploadpfad.$name)){
                echo "<strong>Die Datei ".$name." wurde erfolgreich hochgeladen...</strong>"; 
                    $link = mysql_connect($_db_host, $_db_username, $_db_passwort);
das "name" war keine variable
 

limubai81

Nicht mehr ganz neu hier

AW: Formulardaten sollen in einer Db gespeichert werden

jup das hab ich schon korrigiert, hatte aber leider nur etwas mit der echoausgabe zu tun :(
 

McLoude

Highlander

AW: Formulardaten sollen in einer Db gespeichert werden

Diese Zeile sollte auch anders geschrieben werden:

('pfad','text') VALUES ('$link','$text')

(pfad,text) VALUES ('".$link."','".$text."')


Meines erachtens sollten die Spalten nicht in '' sondern nur die Values. Und wo ist denn $bilder definiert? Oder hab ich mich verkuckt.
 

limubai81

Nicht mehr ganz neu hier

AW: Formulardaten sollen in einer Db gespeichert werden

ne das isn fehler, die tabelle trägt den namen bilder
werd das gleich mal testen

hab mal die fehler oben rausgenommen
 
Zuletzt bearbeitet:

ChrisvA

Aktives Mitglied

AW: Formulardaten sollen in einer Db gespeichert werden

Füge doch mal nach der select_db() Zeile folgendes in den Code ein:
echo "INSERT INTO $bilder (pfad,text) VALUES ('".$name."','".$text."')"
Anschließend nimmst du dann den String und fügst ihn bei PHPMyAdmin ein.
Vermutlich wird dann ein Fehler auftauchen. Der könnte bei der Lösung hilfreich sein.
Poste außerdem noch den eingefügten SQL-Befehl.
 

Drauka

Noch nicht viel geschrieben

AW: Formulardaten sollen in einer Db gespeichert werden

Ich finds ja schön, dass du Fehler des Connects und der Datenbank abfragst, aber dann nicht den Fehler Deines Querys. Das könnte Dir auch schon helfen.

Du könntest also Dein mysql_query() abfangen mit or die ('Fehler: '.mysql_error());

Dann siehst Du auch was falsch ist.

EDIT: Nochwas. Versuch doch noch dieses Statement:

Code:
INSTERT INTO bilder (pfad,text) VALUES ('$name', '$text')
 
Zuletzt bearbeitet:
Z

Zeph77

Guest

AW: Formulardaten sollen in einer Db gespeichert werden

Frage nur so am Rande, warum steht bei dem Table create:
CREATE table $bilder
muss es nicht
CREATE table 'bilder'
heißen?
 

limubai81

Nicht mehr ganz neu hier

AW: Formulardaten sollen in einer Db gespeichert werden

Diese Zeile sollte auch anders geschrieben werden:

('pfad','text') VALUES ('$link','$text')

(pfad,text) VALUES ('".$link."','".$text."')


Meines erachtens sollten die Spalten nicht in '' sondern nur die Values. Und wo ist denn $bilder definiert? Oder hab ich mich verkuckt.

@McLoude
daran wirds gelegen haben, kam grad erst dazu das zu testen und es klappt. thxili :)

@Zeph77
jop das war noch vorhergehenden versuchen


danke euch für die hilfe
lg LiMu
 
Z

Zeph77

Guest

AW: Formulardaten sollen in einer Db gespeichert werden

Du musst übrigens nicht unbedingt
(pfad,text) VALUES ('".$link."','".$text."')
schreiben.
Solange der Query-Befehl in "" steht reicht auch folgendes:
(pfad,text) VALUES ('$link','$text')
Wichti ist nur das die Tabellenfelder nicht zwischen einfachen Anführungstrichen stehen ... also nicht:
('pfad','text') VALUES ('$link','$text')

also:
mysql_query(" INSERT INTO tabellenname (tabfeld1,tabfeld2) VALUES ('$wert1','$wert2') ");
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Neueste Themen & Antworten

Flatrate für Tutorials, Assets, Vorlagen

Statistik des Forums

Themen
175.189
Beiträge
2.582.077
Mitglieder
67.259
Neuestes Mitglied
SaschMasch1312
Oben