Vorheriges Thema: Nächstes Thema: |
Autor |
Nachricht |
marck48 Häufiger Poster
Anmeldungsdatum: 10.02.2009 Beiträge: 25 Wohnort: Eberswalde
|
Verfasst am: 11.02.2009 10:26:43 Titel: Bild Upload per php |
|
|
Hallo,
ich habe jetzt etwas rumprobiert und festgestellt das das foto gespeichert wird nur die DB-Einträge werden nicht gemacht. Habe jetzt php5... mit php4 funktionieren die DB-Einträge wieder aber das foto wird nicht übertragen.
In meiner DB wird eine ID vergeben mit Attribute=unsigned, Extra= auto_increment.
Und für die Fotos wird jeweils der name in "userfile" eingetragen.
Mit freundlichen Gruß
marck |
|
Nach oben |
|
|
Frosty Häufiger Poster
Anmeldungsdatum: 27.10.2008 Beiträge: 221
|
Verfasst am: 11.02.2009 11:12:23 Titel: |
|
|
Du musst gucken, welche Variable für userfile gespeichert wird und diese notfalls ändern.
Klasse, wenn deine User schon eine ID haben, dann brauchst du ja nur noch die zweite Tabelle für die Bilder. |
|
Nach oben |
|
|
marck48 Häufiger Poster
Anmeldungsdatum: 10.02.2009 Beiträge: 25 Wohnort: Eberswalde
|
Verfasst am: 11.02.2009 11:38:57 Titel: Bild Upload per php |
|
|
Userfile ist eine Spalte in meiner DB...
und dorthin wurden mit dem alten script der Dateiname geschrieben. So sieht jetzt mein code aus
<?php
{
$file = $_FILES['userfile']['tmp_name'];
$filesize = $_FILES['userfile']['size'];
$path = "fotos/";
//Type abfangen
$filetype = $_FILES['userfile']['type'];
switch($filetype)
{
case "image/pjpeg":
$type = ".jpg";
break;
case "image/gif":
$type = ".gif";
break;
case "image/jpeg":
$type = ".jpg";
break;
case "image/x-png":
$type = ".png";
break;
//usw.
}
//anzahl der dateien im Verzeichnis
$all_files = count(scandir($path)) - 2;
//Jetzt individuellen Namen für das Bild generieren
$myFilename = "bild_".$all_files.$type;
if (!file_exists($path.$myFilename))
{
if(!copy($file,$path.$myFilename))
echo "Konnte nicht speichern.";
else
echo "Gespeichert.";
}
else
{
echo "Foto schon vorhanden.";
}
if ($submit) {
$db = mysql_connect("localhost", "Uxxxxx","pass");
mysql_select_db("DBxxxx",$db);
$sql = "INSERT INTO Immobilien (anr,firmenname,vorname,name,strasse_besitzer,plz_besitzer,ort_besitzer,email_besitzer,tel_besitzer,kategorie_wohnung,kategorie_haus,kategorie_grund,kategorie_bueros,kategorie_prod,kategorie_einzel,kategorie_gastro,plz,ort,strasse,baujahr,groesse_wohnung,groesse_haus,groesse_grund,groesse_bueros,groesse_prod,groesse_einzel,groesse_gastro,preis_miete,preis_kauf,lage,beschreibung,userfile,zimmer,nebenkosten,gewerbe,kaufmiete,etage,datum,deutsch,kaufpreis) VALUES
('$anr','$firmenname','$vorname','$name','$strasse_besitzer','$plz_besitzer','$ort_besitzer','$email_besitzer','$tel_besitzer','$kategorie_wohnung','$kategorie_haus','$kategorie_grund','$kategorie_bueros','$kategorie_prod','$kategorie_einzel','$kategorie_gastro','$plz','$ort','$strasse','$baujahr','$groesse_wohnung','$groesse_haus','$groesse_grund','$groesse_bueros','$groesse_prod','$groesse_einzel','$groesse_gastro','$preis_miete','$preis_kauf','$lage','$beschreibung','$myFilename','$zimmer','$nebenkosten','$gewerbe','$kaufmiete','$etage','$datum','$deutsch','$kaufpreis')";
$result = mysql_query($sql,$db);
echo ('<p class="upload" align="center">Ihre Daten wurden abgeschickt! - Vielen Dank!<br><br></p>');
}
}
?>
ich habe die Änderungen $filename in $myFilename vorgenommen und userfile ist doch geblieben oder?
gruß
marck |
|
Nach oben |
|
|
Frosty Häufiger Poster
Anmeldungsdatum: 27.10.2008 Beiträge: 221
|
Verfasst am: 11.02.2009 12:15:10 Titel: |
|
|
Ja, soweit ich sehen konnte ist das ok.
Was genau hast du da vor? So aus reiner Neugier. Eben warens noch oldtimer, jetzt sinds Immobilien? Klingt entweder nach nur einfach mal so testen oder nach einem Riesen-Projekt. |
|
Nach oben |
|
|
marck48 Häufiger Poster
Anmeldungsdatum: 10.02.2009 Beiträge: 25 Wohnort: Eberswalde
|
Verfasst am: 11.02.2009 12:29:20 Titel: Bild Upload per php |
|
|
Ein Oldtimerportal soll das werrden wo user ihre oldtimer anmelden und bilder uploaden können und andere wieder die welche suchen sie dort finden.
Immobilien ist nur zum Test, wenn dort alles klappt übertrag ich es auf das oldtimerportal.
Ich habe jetzt ein verzeichnis auf dem server angelegt "upload" worin ich die upload.php geschoben habe weil unter php5 andere scripte nicht mehr richtig fuktionierten.
Jetzt ist für das Verzeichnis "upload" php5 und für alle anderen php4.
Was muß ich denn ändern in der upload.php (der code aus der letzten nachricht) das es mit php5 funktioniert?
Gruß
marck |
|
Nach oben |
|
|
Frosty Häufiger Poster
Anmeldungsdatum: 27.10.2008 Beiträge: 221
|
Verfasst am: 11.02.2009 12:39:10 Titel: |
|
|
Was genau macht oder macht das Skript denn nicht?
Du musst schon genauer werden. "Speichert nicht mehr in Datenbank" reicht mir nicht aus. Gibts ne Fehlermeldung? |
|
Nach oben |
|
|
marck48 Häufiger Poster
Anmeldungsdatum: 10.02.2009 Beiträge: 25 Wohnort: Eberswalde
|
Verfasst am: 11.02.2009 12:52:36 Titel: Bild Upload per php |
|
|
Nein keine Fehlermeldung die im Formular eingegebenen Daten werden nicht übertragen außer das Foto wird mit neuen namen(Bild_x) in das verzeichnis fotos gespeichert.
Wenn ich auf php4 wieder umstelle funktioniert die übertragung der daten wieder (dann aber das foto nicht mehr) |
|
Nach oben |
|
|
Frosty Häufiger Poster
Anmeldungsdatum: 27.10.2008 Beiträge: 221
|
Verfasst am: 11.02.2009 12:56:19 Titel: |
|
|
Woher beziehst du die Variable $submit ? |
|
Nach oben |
|
|
marck48 Häufiger Poster
Anmeldungsdatum: 10.02.2009 Beiträge: 25 Wohnort: Eberswalde
|
Verfasst am: 11.02.2009 13:19:21 Titel: Bild Upload per php |
|
|
Ich weiß nicht aber ich denke aus dem Formular
<input type="submit" name="submit" value="Abschicken"> |
|
Nach oben |
|
|
Frosty Häufiger Poster
Anmeldungsdatum: 27.10.2008 Beiträge: 221
|
Verfasst am: 12.02.2009 09:04:01 Titel: |
|
|
Vielleicht fang den Post mal so ab.
Code: |
if($_POST['submit']) |
|
|
Nach oben |
|
|
marck48 Häufiger Poster
Anmeldungsdatum: 10.02.2009 Beiträge: 25 Wohnort: Eberswalde
|
Verfasst am: 12.02.2009 10:50:00 Titel: Bild Upload per php |
|
|
Hallo,
ich muß mich erstmal bedanken für deine Hilfe und Ausdauer mit mir... Vielen Dank!
Ich hab das mal jetzt so gemacht wie du in der letzten nachricht geschrieben hast. Ein neuer Datensatz wird in der DB angelegt und eine ID wird vergeben.
Das Foto wird gespeichert der namen wird vergeben ( zB Bild_1.jpg) dieser namen wird auch in die DB in die Spalte "userfile" geschrieben nur werden die anderen Daten aus dem Formular zB "name" "vorname" "plz" "ort" usw nicht in den neuen Datensatz geschrieben die bleiben einfach leer. Ich sende mal den kompletten code incl. formular mit
<form method="post" action="upload.php" enctype="multipart/form-data" name="Formular1">
<input type="text" name="firmenname" value="<? echo $firmenname ?>" size="45" class="lang">
<input type="text" name="vorname" value="<? echo $vorname ?>" size="45" class="lang">
<input type="text" name="name" value="<? echo $name ?>" size="45" class="lang">
<input type="text" name="email_besitzer" value="<? echo $email_besitzer ?>" size="45" class="lang">
<input type="text" name="strasse_besitzer" value="<? echo $strasse_besitzer ?>" size="45" class="lang">
<input type="hidden" name="MAX_FILE_SIZE" value="1000000">
<input name="userfile" type="file" size="22" class="foto">
<input type="submit" name="submit" value="Abschicken">
</form>
<?php
{
$file = $_FILES['userfile']['tmp_name'];
$filesize = $_FILES['userfile']['size'];
$path = "../fotos/";
//Type abfangen
$filetype = $_FILES['userfile']['type'];
switch($filetype)
{
case "image/pjpeg":
$type = ".jpg";
break;
case "image/gif":
$type = ".gif";
break;
case "image/jpeg":
$type = ".jpg";
break;
case "image/x-png":
$type = ".png";
break;
//usw.
}
//anzahl der dateien im Verzeichnis
$all_files = count(scandir($path)) - 2;
//Jetzt individuellen Namen für das Bild generieren
$myFilename = "bild_".$all_files.$type;
if (!file_exists($path.$myFilename))
{
if(!copy($file,$path.$myFilename))
echo "Konnte nicht speichern.";
else
echo "Gespeichert.";
}
else
{
echo "Foto schon vorhanden.";
}
if($_POST['submit']) {
$db = mysql_connect("localhost", "Uxxxx","pass");
mysql_select_db("DBxxxxx",$db);
$sql = "INSERT INTO Immobilien (anr,firmenname,vorname,name,strasse_besitzer,plz_besitzer,ort_besitzer,email_besitzer,tel_besitzer,kategorie_wohnung,kategorie_haus,kategorie_grund,kategorie_bueros,kategorie_prod,kategorie_einzel,kategorie_gastro,plz,ort,strasse,baujahr,groesse_wohnung,groesse_haus,groesse_grund,groesse_bueros,groesse_prod,groesse_einzel,groesse_gastro,preis_miete,preis_kauf,lage,beschreibung,userfile,zimmer,nebenkosten,gewerbe,kaufmiete,etage,datum,deutsch,kaufpreis) VALUES
('$anr','$firmenname','$vorname','$name','$strasse_besitzer','$plz_besitzer','$ort_besitzer','$email_besitzer','$tel_besitzer','$kategorie_wohnung','$kategorie_haus','$kategorie_grund','$kategorie_bueros','$kategorie_prod','$kategorie_einzel','$kategorie_gastro','$plz','$ort','$strasse','$baujahr','$groesse_wohnung','$groesse_haus','$groesse_grund','$groesse_bueros','$groesse_prod','$groesse_einzel','$groesse_gastro','$preis_miete','$preis_kauf','$lage','$beschreibung','$myFilename','$zimmer','$nebenkosten','$gewerbe','$kaufmiete','$etage','$datum','$deutsch','$kaufpreis')";
$result = mysql_query($sql,$db);
echo ('<p class="upload" align="center">Ihre Daten wurden abgeschickt! - Vielen Dank!<br><br></p>');
}
}
?>
Gruß marck |
|
Nach oben |
|
|
Frosty Häufiger Poster
Anmeldungsdatum: 27.10.2008 Beiträge: 221
|
Verfasst am: 12.02.2009 12:35:35 Titel: |
|
|
Du solltest natürlich alle gesendeten Formulardaten mit $_POST[''] abfangen.
zb:
Code: |
$_POST['firmenname']; |
|
|
Nach oben |
|
|
marck48 Häufiger Poster
Anmeldungsdatum: 10.02.2009 Beiträge: 25 Wohnort: Eberswalde
|
Verfasst am: 12.02.2009 13:36:27 Titel: Bild Upload per php |
|
|
Hab ich gemacht funktioniert nicht
wie gehabt neuer datensatz wird angelegt aber keine daten eingetragen ich verzweifle langsam.
ist es so richtig
Code: |
$_POST['anr'];
$_POST['firmenname'];
$_POST['vorname'];
$_POST['name'];
$_POST['strasse_besitzer'];
$_POST['plz_besitzer'];
$_POST['email_besitzer'];
$_POST['tel_besitzer'];
$_POST['ort_besitzer'];
$_POST['kategorie_wohnung'];
$_POST['kategorie_haus'];
$_POST['kategorie_grund'];
$_POST['kategorie_bueros'];
$_POST['kategorie_prod'];
$_POST['kategorie_einzel'];
$_POST['kategorie_gastro'];
$_POST['plz'];
$_POST['ort'];
$_POST['strasse'];
$_POST['baujahr'];
$_POST['groesse_wohnung'];
$_POST['groesse_haus'];
$_POST['groesse_grund'];
$_POST['groesse_bueros'];
$_POST['groesse_prod'];
$_POST['groesse_einzel'];
$_POST['groesse_gastro'];
$_POST['preis_miete'];
$_POST['preis_kauf'];
$_POST['lage'];
$_POST['beschreibung'];
$_POST['userfile'];
$_POST['zimmer'];
$_POST['nebenkosten'];
$_POST['gewerbe'];
$_POST['kaufmiete'];
$_POST['etage'];
$_POST['datum'];
$_POST['deutsch'];
$_POST['kaufpreis'];
if($_POST['submit'])
|
[/code] |
|
Nach oben |
|
|
Frosty Häufiger Poster
Anmeldungsdatum: 27.10.2008 Beiträge: 221
|
Verfasst am: 12.02.2009 14:13:19 Titel: |
|
|
Nein, nicht verzweifeln. Meistens ist es nur ein winzig-kleiner Schritt.
So sollte es richtig sein. Der Ãœbersicht halber
habe ich das mal abgekürzt.
Code: |
$sql = "INSERT INTO Immobilien (anr,firmenname) VALUES ('$_POST['anr']','$_POST['firmenname']');
|
|
|
Nach oben |
|
|
marck48 Häufiger Poster
Anmeldungsdatum: 10.02.2009 Beiträge: 25 Wohnort: Eberswalde
|
Verfasst am: 12.02.2009 14:25:46 Titel: Bild Upload per php |
|
|
So richtig? hab es auch abgekürzt
Code: |
if($_POST['submit']) {
$db = mysql_connect("localhost", "Uxxxxx","pass");
mysql_select_db("DBxxxx",$db);
$sql = "INSERT INTO Immobilien (anr,firmenname,vorname,name,strasse_besitzer,plz_besitzer,ort_besitzer,email_besitzer,tel_besitzer,kategorie_wohnung,kategorie_haus,kategorie_grund,kategorie_bueros,kategorie_prod,kategorie_einzel,kategorie_gastro,plz,ort,strasse,baujahr,groesse_wohnung,groesse_haus,groesse_grund,groesse_bueros,groesse_prod,groesse_einzel,groesse_gastro,preis_miete,preis_kauf,lage,beschreibung,userfile,zimmer,nebenkosten,gewerbe,kaufmiete,etage,datum,deutsch,kaufpreis) VALUES
('$anr','$firmenname','$vorname','$name','$strasse_besitzer','$plz_besitzer','$ort_besitzer','$email_besitzer','$tel_besitzer','$kategorie_wohnung','$kategorie_haus','$kategorie_grund','$kategorie_bueros','$kategorie_prod','$kategorie_einzel','$kategorie_gastro','$plz','$ort','$strasse','$baujahr','$groesse_wohnung','$groesse_haus','$groesse_grund','$groesse_bueros','$groesse_prod','$groesse_einzel','$groesse_gastro','$preis_miete','$preis_kauf','$lage','$beschreibung','$myFilename','$zimmer','$nebenkosten','$gewerbe','$kaufmiete','$etage','$datum','$deutsch','$kaufpreis')";
$_POST['anr'];
$_POST['firmenname'];
$_POST['vorname'];
$_POST['name'];
$_POST['strasse_besitzer'];
$_POST['plz_besitzer'];
$_POST['email_besitzer'];
|
so hab ich es probiert geht auch nicht |
|
Nach oben |
|
|
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
|
|