ERLEDIGT
JA
JA
ANTWORTEN
14
14
ZUGRIFFE
289
289
EMPFEHLEN
-
Hallo,
vielleicht kann mir hier jemand helfen. Habe schon sehr viel im Internet und auch hier bereits nachgeschaut. Leider keine transparente Anhaltspunkt gefunden.
Ich habe ein Formular indem zusätzlich ein Bild von den jeweiligen User in die Datenbank hochgeladen wird.
Die Bilddatei wird auf der gleichen Ebene in einen Ordner gespeichert. Der Name der Datei wird aus der hochgeladenen Datei herausgefiltert und in einen Varchar definierten Feld in der Datenbank gespeichert.
Das alles klappt soweit.
Das Problem liegt in einen weiteren Formular -> UserEdit.php
Hier kann ich als Admin all die Daten anzeigen lassen und abändern.
Die Daten lassen sich soweit auch abändern. Nur mit dem Bild habe ich schwierigkeiten.
Dateiüberprüfung
In diesem script wird das Bild auf seine Eigenschaften (größe, dateiformat usw.) überprüft.
PHP-Code:// BILD-FELD (kein Pflichtfeld)
$breite = 140; // Maximalbreite der Grafiken in px.
if(isset($_FILES['Datei']) && $_FILES['Datei']['size'] > 0)
{
$tempname = $_FILES['Datei']['tmp_name'];
$dateiname= $_FILES['Datei']['name'];
$dateigroesse = $_FILES['Datei']['size'];
$dateityp = GetImageSize($tempname);
if($dateityp[2] == 1 || $dateityp[2] == 2) // Gif oder JPG?
{
$endung = ($dateityp['2'] == 1 ? "gif" : "jpg");
$neuname = time() . ".$endung";
$bildbreite = $dateityp[0];
if($bildbreite <= $breite) // Bild zu breit?
{
if(move_uploaded_file($tempname, "img/" . $neuname))
{
chmod("img/" . $neuname, 0666);
echo "Die Datei wurde erfolgreich hochgeladen!";
}
else
{
$fehler.="Der Bilduploud hat leider nicht geklappt!<br>";
}
}
else
{
$fehler.="Die datei ist leider zu breit!<br>";
}
}
else
{
$fehler.="Es handelt sich nicht um eine gültige jpg oder gif-Datei!<br>";
}
} // ENDE: if(isset($_FILES['datei']) && $_FILES['datei']['size'] > 0)
else
{
echo "<br><font color='red'>Die Datei ".$_FILES['Datei']." ist nicht da.</font>";
}
// ------------------ ENDE: // BILD-FELD ------------------
Der SQL Befehl:
PHP-Code:// UPDATE Ausführen
$sql_update = "UPDATE
$tab_users
SET
Vorname = '".mysql_real_escape_string($_POST['Vorname'], $cnx_user)."',
Nachname = '".mysql_real_escape_string($_POST['Nachname'], $cnx_user)."',
Strasse = '".mysql_real_escape_string($_POST['Strasse'], $cnx_user)."',
Plz = '".mysql_real_escape_string($_POST['Plz'], $cnx_user)."',
Ort = '".mysql_real_escape_string($_POST['Ort'], $cnx_user)."',
Tel = '".mysql_real_escape_string($_POST['Tel'], $cnx_user)."',
Handy = '".mysql_real_escape_string($_POST['Handy'], $cnx_user)."',
Email = '".mysql_real_escape_string($_POST['Email'], $cnx_user)."',
Geb = '".mysql_real_escape_string($_POST['Geb'], $cnx_user)."',
Fahrzeug = '".mysql_real_escape_string($_POST['Fahrzeug'], $cnx_user)."',
Hubraum = '".mysql_real_escape_string($_POST['Hubraum'], $cnx_user)."',
Erstzulassung = '".mysql_real_escape_string($_POST['Erstzulassung'], $cnx_user)."',
Bild = '".$neuname."',
Nickname = '".mysql_real_escape_string($_POST['Nickname'], $cnx_user)."',
Admin = '".mysql_real_escape_string($_POST['Admin'], $cnx_user)."',
Username = '".mysql_real_escape_string($_POST['Username'], $cnx_user)."',
Kennwort = '".mysql_real_escape_string($_POST['Kennwort'], $cnx_user)."'
WHERE
id = '".mysql_real_escape_string($_POST['IDedit'], $cnx_user)."'";
Ausschnitt aus meinen AnzeigeScript
Das Script zeigt den Ausschnitt aus meinen Anzeige-FormularPHP-Code:
echo "<form action='".$_SERVER['PHP_SELF']."?suchbuchstabe=".$_REQUEST['suchbuchstabe']."' method='post'>";
echo "<input type='hidden' name='sent' value='2'>";
echo "<input type='hidden' name='IDedit' value='".$row['ID']."'>";
// Auslesen der anderen Daten (Vorname usw.)
// BILD upload
echo "<tr>";
echo "<td><div class='txt'>Bild:</div></td>";
echo "<td colspan='2'>";
echo "<input type='file' class='textfeld' name='Datei'>
<input type='text' class='textfeld' name='Datei1' value='".$row['Bild']."'></td>";
echo "</tr>";
Ich habe zur Kontrolle ein weiteres <input...text...... -feldname='Datei1' gemacht, um zu kontrollieren, welchen Namen das Bild hat.
Klicke ich auf die Schaltfläche Durchsuchen von "<input type='file' class='textfeld' name='Datei'> , wird mir der Pfad zum Bild im Eingabefeld angezeigt.
Klicke ich dann Anschließend auf Updaten, wird der bereits abgespeicherte Dateiname in der Datenbank gelöscht.
Ich hoffe ich habe es soweit klar geschrieben und
bedanke mich schon mal vorab.Geändert von wildstar (23.05.06 um 23:36 Uhr)
-
23.05.06 23:36 #2
Ja wo ist denn jetzt genau das Problem? Das das alte Bild gelöscht wird?
Gruß mAu
──────────────────────────
Ich auf flickr
* Unformatierten Quellcode schaue ich mir _nicht_ an!
* Sollte ich euch bei einer Frage weitergeholfen haben, würde ich mich über eine positive Bewertung freuen.
* Bitte die Netiquette beachten.
* Vergesst nicht, beantwortete Fragen als erledigt zu markieren!
-
Hallo,
Zitat von mAu
Das wenn ich wüsste. Das frag ich mich auch schon die ganze Zeit. Ich habe keine DELETE eingebaut... hmmm
-
23.05.06 23:43 #4
Also der Name wird aus der DB gelöscht? Ich mein, du überschreibst ihn ja eigentlich mit einem neuen Wert...
PHP-Code:// ...
Bild = '".$neuname."'
// ...
Gruß mAu
──────────────────────────
Ich auf flickr
* Unformatierten Quellcode schaue ich mir _nicht_ an!
* Sollte ich euch bei einer Frage weitergeholfen haben, würde ich mich über eine positive Bewertung freuen.
* Bitte die Netiquette beachten.
* Vergesst nicht, beantwortete Fragen als erledigt zu markieren!
-
Das Problem geht ja schon an, dass er mir bei dem oberen Script. if (isset($_FILES...)) nicht mal reinkommt.
Es wird dann schon gleich der else Teil :
echo "<br><font color='red'>Die Datei ".$_FILES['Datei']." ist nicht da.</font>";
ausgegeben. Das heißt, ich komm nicht mal zur Daten überprüfung.
-
24.05.06 00:21 #6
Dir fehlt ein
in deinem Formular-Tag (<form>). Füg das noch ein, dann sollte es gehen.HTML-Code:enctype="multipart/form-data"
Gruß mAu
──────────────────────────
Ich auf flickr
* Unformatierten Quellcode schaue ich mir _nicht_ an!
* Sollte ich euch bei einer Frage weitergeholfen haben, würde ich mich über eine positive Bewertung freuen.
* Bitte die Netiquette beachten.
* Vergesst nicht, beantwortete Fragen als erledigt zu markieren!
-
Ich bedanke mich sehr herzlich bei Dir. Es klappt.
Zitat von mAu
Du kannst Dir jetzt gar nicht Vorstellen, wie sehr ich mich freue. Ich wäre schon fast Verrückt geworden. Danke nochmals
-
24.05.06 00:54 #8
Wenn du die Frage noch als "Erledigt" markierst, wär ich dir sehr dankbar

(Links unten oder links oben auf "Erledigt" klicken.)Gruß mAu
──────────────────────────
Ich auf flickr
* Unformatierten Quellcode schaue ich mir _nicht_ an!
* Sollte ich euch bei einer Frage weitergeholfen haben, würde ich mich über eine positive Bewertung freuen.
* Bitte die Netiquette beachten.
* Vergesst nicht, beantwortete Fragen als erledigt zu markieren!
-
Jetzt hab ich doch noch ne Frage.
Zitat von mAu
Hab das Bild nun drin und kann es abändern.
Wenn ich das bild nicht abändern möchte, sondern nur die Daten, dann ist es so wie Du am Anfang schon geschrieben,, dass das Bild gelöscht wird.
Eben deshalb, weil neuname überschrieben wird.
Beim Absenden von den Daten, ist in prinzip kein bild zum Upload vorhanden (Weil ja kein neues hochgeladen wird) und schickt ein leeres Array an die Datenbank. Was tut man in so einen Folgefall
-
24.05.06 01:10 #10
Ich denke so müsste es funktionieren...
PHP-Code:// UPDATE Ausführen
$sql_update = "UPDATE
$tab_users
SET
Vorname = '".mysql_real_escape_string($_POST['Vorname'], $cnx_user)."',
Nachname = '".mysql_real_escape_string($_POST['Nachname'], $cnx_user)."',
Strasse = '".mysql_real_escape_string($_POST['Strasse'], $cnx_user)."',
Plz = '".mysql_real_escape_string($_POST['Plz'], $cnx_user)."',
Ort = '".mysql_real_escape_string($_POST['Ort'], $cnx_user)."',
Tel = '".mysql_real_escape_string($_POST['Tel'], $cnx_user)."',
Handy = '".mysql_real_escape_string($_POST['Handy'], $cnx_user)."',
Email = '".mysql_real_escape_string($_POST['Email'], $cnx_user)."',
Geb = '".mysql_real_escape_string($_POST['Geb'], $cnx_user)."',
Fahrzeug = '".mysql_real_escape_string($_POST['Fahrzeug'], $cnx_user)."',
Hubraum = '".mysql_real_escape_string($_POST['Hubraum'], $cnx_user)."',
Erstzulassung = '".mysql_real_escape_string($_POST['Erstzulassung'], $cnx_user)."',
".(($_FILES['Datei']['size'] > 0) ? "Bild = '".$neuname."'," : '')."
Nickname = '".mysql_real_escape_string($_POST['Nickname'], $cnx_user)."',
Admin = '".mysql_real_escape_string($_POST['Admin'], $cnx_user)."',
Username = '".mysql_real_escape_string($_POST['Username'], $cnx_user)."',
Kennwort = '".mysql_real_escape_string($_POST['Kennwort'], $cnx_user)."'
WHERE
id = '".mysql_real_escape_string($_POST['IDedit'], $cnx_user)."'";
Geändert von mAu (24.05.06 um 01:25 Uhr)
Gruß mAu
──────────────────────────
Ich auf flickr
* Unformatierten Quellcode schaue ich mir _nicht_ an!
* Sollte ich euch bei einer Frage weitergeholfen haben, würde ich mich über eine positive Bewertung freuen.
* Bitte die Netiquette beachten.
* Vergesst nicht, beantwortete Fragen als erledigt zu markieren!
-
Parse error: syntax error, unexpected')' in ...... on line 294
Da is wohl ein kleiner sytax wurm drin. smile
suche schon ne weile
-
24.05.06 01:26 #12
Hab es oben abgeändert, sollte jetzt keinen Fehler mehr erzeugen. Aber ob's den gewünschten Effekt bringt
?
Gruß mAu
──────────────────────────
Ich auf flickr
* Unformatierten Quellcode schaue ich mir _nicht_ an!
* Sollte ich euch bei einer Frage weitergeholfen haben, würde ich mich über eine positive Bewertung freuen.
* Bitte die Netiquette beachten.
* Vergesst nicht, beantwortete Fragen als erledigt zu markieren!
-
Also ich hab ja schon viel gelernt was php und sql angeht. aber diesen codeschnipsel kann ich nicht nachvollziehn. Denn werd ich mir in den nächsten Tagen anschauen.
Es funktioniert. Danke Dir nochmals und noch viel Spaß.
Werd denn das Thema schließen.
-
24.05.06 01:39 #14
Das ist nur eine andere Schreibweise der if-Kontrollstruktur...
ist gleichbedeutend mitPHP-Code:(($_FILES['Datei']['size'] > 0) ? "Bild = '".$neuname."'," : '')
Oder allgemeinerPHP-Code:if ($_FILES['Datei']['size'] > 0) { echo "Bild = '".$neuname."',"; }
PHP-Code:(Bedingung) ? Wahr : Falsch;
// z.B.
echo (1 == 1) ? "ok" : "nicht ok";
Gruß mAu
──────────────────────────
Ich auf flickr
* Unformatierten Quellcode schaue ich mir _nicht_ an!
* Sollte ich euch bei einer Frage weitergeholfen haben, würde ich mich über eine positive Bewertung freuen.
* Bitte die Netiquette beachten.
* Vergesst nicht, beantwortete Fragen als erledigt zu markieren!
-
Da geht ja die birne voll ans leuchten.
Hab das Fragezeichen und den Doppelpunkt nicht gecheckt. Vielen Dank vielleicht schreibt man sich ja mal wieder. würd mich freuen.
Ähnliche Themen
-
Update: update Spalte gleichzeitig als WHERE Bedingung
Von Steusi im Forum Relationale DatenbanksystemeAntworten: 10Letzter Beitrag: 30.06.09, 08:18 -
Update Trigger auch für ON DUPLICATE KEY UPDATE?
Von Herr_M im Forum Relationale DatenbanksystemeAntworten: 2Letzter Beitrag: 20.05.09, 08:16 -
Bilder hochladen Update Datenbank
Von max1986 im Forum PHPAntworten: 4Letzter Beitrag: 23.02.09, 16:47 -
Bilder Slide-show mit Bilder bewegung wie bei gucci
Von socke999 im Forum Javascript & AjaxAntworten: 5Letzter Beitrag: 07.01.08, 17:04 -
Dreamweaver 2 und Animation/ Bilder langsam einblenden, Bilder animieren
Von lisa im Forum HTML-EditorenAntworten: 0Letzter Beitrag: 21.11.01, 10:16





Zitieren
Login






[PHP][Snippet] Array zu XML konvertieren