php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 02-04-2009, 01:27
Micha2409
 Registrierter Benutzer
Links : Onlinestatus : Micha2409 ist offline
Registriert seit: Feb 2007
Beiträge: 8
Micha2409 ist zur Zeit noch ein unbeschriebenes Blatt
Question Problem bei Bilderupload

Hi Leute und schönen guten Abend!

Ich verzweifel noch an meinem Script mit dem ich u.a. Bilder uploaden möchte...

Derzeitiger Stand:
Ich habe einen Shop kreiert ("zusammengebastelt"). Der läuft soweit auch einwandfrei.

Nun habe ich eine Adminoberfläche, in welcher ich u.a. neue Produkte mit einem Bild hinzufügen

kann. Funktioniert auch einwandfrei und wird fehlerfei angezeigt.

Mein nächster Schritt war es nun, dass Script so zu erweitern, dass ich 3 Bilder uploaden kann -

und da hängt's

Das Script, das die Artikeldaten speichert, sieht so aus:
PHP-Code:
<?  // Includes

error_reporting(E_ALL E_NOTICE);
ini_set('display_errors'true);
mysql_error();

include (
"../config.php");


// Variablen Deklaration

if (!isset($_POST['artikelnummer']))$_POST['artikelnummer'] = "";
if (!isset(
$_POST['name']))            $_POST['name'] = "";
if (!isset(
$_POST['beschreibung']))    $_POST['beschreibung'] = "";
if (!isset(
$_POST['preis']))        $_POST['preis'] = "";
if (!isset(
$_POST['variante1']))    $_POST['variante1'] = "";
if (!isset(
$_POST['variante2']))    $_POST['variante2'] = "";
if (!isset(
$_POST['status']))        $_POST['status'] = "";
if (!isset(
$_POST['nkategorie']))    $_POST['nkategorie'] = "";

$post_vars['artikelnummer']            = htmlentities($_POST['artikelnummer'],ENT_QUOTES,$CHARSET);
$post_vars['name']                    = htmlentities($_POST['name'],ENT_QUOTES,$CHARSET);
$post_vars['beschreibung']            = htmlentities($_POST['beschreibung'],ENT_QUOTES,$CHARSET);
$post_vars['preis']                    = htmlentities($_POST['preis'],ENT_QUOTES,$CHARSET);
$post_vars['variante1']                = htmlentities($_POST['variante1'],ENT_QUOTES,$CHARSET);
$post_vars['variante2']                = htmlentities($_POST['variante2'],ENT_QUOTES,$CHARSET);
$post_vars['status']                = htmlentities($_POST['status'],ENT_QUOTES,$CHARSET);
$post_vars['nkategorie']            = htmlentities($_POST['nkategorie'],ENT_QUOTES,$CHARSET);


// Programm-Code

if (!$post_vars['artikelnummer']): $action "error";
elseif (!
$post_vars['name']): $action "error";
elseif (!
$post_vars['beschreibung']): $action "error";
elseif (!
$post_vars['preis']): $action "error";
else: 
$action "erfolg";
endif;

if (
$action == "erfolg"
    {
    
        if (
is_uploaded_file($_FILES['bild']['tmp_name'])) $bild1 "ok";
        if (
is_uploaded_file($_FILES['bild2']['tmp_name'])) $bild22 "ok";
        if (
is_uploaded_file($_FILES['bild3']['tmp_name'])) $bild33 "ok";

        if (!isset(
$bild1)) $bild1 "";
        if (!isset(
$bild22)) $bild22 "";
        if (!isset(
$bild33)) $bild33 "";
    
        
$conn_id mysql_connect($HOST,$ID,$PW);
        
mysql_select_db($DB,$conn_id);
        
        
mysql_query("insert into ".$PREFIX."_Artikel (kategorie,artikelnummer,name,beschreibung,preis,bild,bild2,
bild3,variante1,variante2,status) VALUES ('{$post_vars['nkategorie']}','{$post_vars['artikelnummer']}',
'{$post_vars['name']}','{$post_vars['beschreibung']}','{$post_vars['preis']}','$bild1','$bild22','$bild33',
'{$post_vars['variante1']}','{$post_vars['variante2']}','{$post_vars['status']}')"
); 
    {
        if (
$bild1 == "ok"
            {
    
                
$result mysql_query("select id from ".$PREFIX."_Artikel where name = '{$post_vars['name']}'");
                while (
$row mysql_fetch_object($result))
                    {
                    
                    
$id     $row->id;
                    
                    }
                
$fotoname "$id.jpg";

                    {

                        
move_uploaded_file(($_FILES['bild']['tmp_name']),"../images/artikel/$fotoname");
                        
chmod ("../images/artikel/$fotoname"0777);
                    }
            
                
mysql_close($conn_id);
            
            }
        
    
header("Location: pro_index.php?action=$action");
    


        if (
$bild22 == "ok"
            {
    
                
$result mysql_query("select id from ".$PREFIX."_Artikel where name = '{$post_vars['name']}'"); 
                while (
$row mysql_fetch_object($result))
                    {
                    
                    
$id     $row->id;
                    
                    }
                
$fotoname2 "$id.2.jpg";

                    {

                        
move_uploaded_file(($_FILES['bild2']['tmp_name']),"../images/artikel/$fotoname2");
                        
chmod ("../images/artikel/$fotoname2"0777);
                    }
            
                
mysql_close($conn_id);
            
            }
        
    
header("Location: pro_index.php?action=$action");
    
    
    
    
        if (
$bild33 == "ok"
            {
    
                
$result mysql_query("select id from ".$PREFIX."_Artikel where name = '{$post_vars['name']}'"); 
                while (
$row mysql_fetch_object($result))
                    {
                    
                    
$id     $row->id;
                    
                    }
                
$fotoname3 "$id.3.jpg";

                    {

                        
move_uploaded_file(($_FILES['bild3']['tmp_name']),"../images/artikel/$fotoname3");
                        
chmod ("../images/artikel/$fotoname3"0777);
                    }
            
                
mysql_close($conn_id);
            
            }
        
    
header("Location: pro_index.php?action=$action");
    }
    
    }

else 
header("Location: pro_neu.php?artikelnummer={$post_vars['artikelnummer']}&name={$post_vars['name']}
&beschreibung={$post_vars['beschreibung']}&preis={$post_vars['preis']}&variante1={$post_vars['variante1']}
&variante2={$post_vars['variante2']}&action=$action"
);

?>
Es werden auch alle Daten gespeichert. Auch das erste Bild mit der "$id.jpg" als Name und das zweite Bild mit "$id.2.jpg" - Soweit perfekt.

Aber das DRITTE Bild, das eigentlich "$id.3.jpg" heißen sollte, wird gar nicht auf den Server geladen...
WARUM

Die Daten an die DB werden auch richtig übergeben. Wenn ich zum Beispiel das erste Bild ("bild") uploade , steht auch nur bei "bild" in der DB "OK".
Wenn ich alle 3 Bilder uploade, steht bei allen 3 "OK" in der DB, aber im Ordner liegen nur die ersten beiden Dateien.

Wenn ich nur "bild2" und "bild3" uploade, zeigt er mir im Ordner wieder die beiden Dateien mit den richtigen Endungen "$id.2.jpg" und "$id.3.jpg" an.

Also läuft er wohl auch alle arrays durch und verarbeitet sie. Allerdings lässt er immer einen "aus". Kann sich das jemand erklären?

Hab schon alles mögliche ausprobiert und mich durchgegoogelt - find aber nix dazu. Ich hoffe hier kann mir jemand weiterhelfen...

Sorry für den langen Text
MICHA

Geändert von Micha2409 (02-04-2009 um 02:21 Uhr)
Mit Zitat antworten
  #2 (permalink)  
Alt 02-04-2009, 02:05
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard Re: Problem bei Bilderupload

Regeln lesen, Code umbrechen!
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #3 (permalink)  
Alt 02-04-2009, 02:24
Micha2409
 Registrierter Benutzer
Links : Onlinestatus : Micha2409 ist offline
Registriert seit: Feb 2007
Beiträge: 8
Micha2409 ist zur Zeit noch ein unbeschriebenes Blatt
Question die Frage bleibt...

Danke wahsaga!

Habe die Zeilenumbrüche eingebaut und auch schon sämtliche "error_reports" eingefügt - allerdings keine Fehlermeldung erhalten...

Was ich extrem verwunderlich finde, dass er einfach immer 2 von 3 Datein höchladt und eine "auslässt". Irgendwie steh ich total auf dem Schlauch...

MICHA
Mit Zitat antworten
  #4 (permalink)  
Alt 02-04-2009, 02:50
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard Re: die Frage bleibt...

Na ja, wenn du zwischendurch immer per Location-Header woandershin umleitest, musst du dich nicht wundern, wenn das Script nicht bis zum Ende ausgeführt wird.
(Ausserdem erfordert ein Location-Header zwingend die Angabe eines vollständigen, absoluten URLs - per Definition.)

Btw.: Variablennamen durchzunummerieren, ist ungünstig - vernünftig wäre es, für sowas ein Array zu nehmen. Das macht dann auch die Verarbeitung einfacher - in einer Schleife.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #5 (permalink)  
Alt 02-04-2009, 15:05
Micha2409
 Registrierter Benutzer
Links : Onlinestatus : Micha2409 ist offline
Registriert seit: Feb 2007
Beiträge: 8
Micha2409 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Danke wahsaga!

Das es mit dem Header zusammenhängt, dachte ich mir schon irgendwie... Aber wie könnte eine solche Schleife aussehen?
Ich hätte halt gern, dass die Bilder beim Upload als "erste Zahl" die $id bekommen. Also das ERSTE Bild "nur die $id und jedes weitere ebenfalls die $id und aber noch ein "klares Erkennungsmerkmal" hinzugefügt wird - wie z.B:
Bild 1: $id.jpg
Bild 2: $id.2.jpg
Bild 3: $id.3.jpg
ODER:
Bild 1: $id.jpg
Bild 2: $id.a.jpg
Bild 3: $id.b.jpg

Da ich nur sehr, sehr selten mit PHP zu tun habe, wäre eine "verständliche" Erklärung sehr willkommen, oder ein gut erklärtes Tutorial, mit dem ich in kurzer Zeit an das gewünschte Ergebnis komme.
Vielleicht kennst du / kennt ihr ja etwas, was mir weiterhilft, oder habt schon einen ähnliche Code parat, den ich anpassen kann...

Vielen vielen Dank an alle - ist echt ein spitzen Forum!
MICHA

----------------------------------------------------------
"Wer lernt zu lernen, bekommt Mündigkeit als Belohnung!" (Ich - 2009)
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

ADSMAN V3 - Werbe-Manager ansehen ADSMAN V3 - Werbe-Manager

ADSMAN V3 - mehr als nur ein Bannermanager! Banner, Textanzeigen und PagePeel Manager! Mit ADSMAN PRO haben Sie die Marketinglösung für eine effektive und effiziente Werbeschaltung mit messbaren Ergebnissen. Unterstützt werden Bannerformate in beliebi

25.10.2018 virtualsystem | Kategorie: PHP/ Bannerverwaltung
PHP News und Artikel Script V2

News schreiben, verwalten, veröffentlichen. Dies ist jetzt mit dem neuen PHP News & Artikel System von virtualsystem.de noch einfacher. Die integrierte Multi-User-Funktion und der WYSIWYG-Editor (MS-Office ähnliche Bedienung) ermöglichen...

25.10.2018 virtualsystem | Kategorie: PHP/ News
Top-Side Guestbook

Gästebuch auf Textbasis (kein MySQL nötig) mit Smilies, Ip Sperre (Zeit selbst einstellbar), Spamschutz, Captcha (Code-Eingabe), BB-Code, Hitcounter, Löschfunktion, Editierfunktion, Kommentarfunktion, Kürzung langer Wörter, Seiten- bzw. Blätterfunktion, V

22.10.2018 webmaster10 | Kategorie: PHP/ Gaestebuch
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 14:03 Uhr.