Re: HELP - Ich komme einfach nicht weiter mit dem Bildupload ... - baseportal Forum - Web-Anwendungen einfach, schnell, leistungsfähig!
baseportal
English - Deutsch "Es gibt keine dummen Fragen - jeder hat einmal angefangen"

 baseportal-ForumDie aktuellsten 10, 30, 50, 100 Einträge anzeigen.  

 
 Ausgewählter Eintrag: Zur Liste 
    Beitrag von wizard_merlin (32 Beiträge) am Mittwoch, 17.September.2003, 19:05.
    Re: HELP - Ich komme einfach nicht weiter mit dem Bildupload ...

      Mmh, ich verstehe jetzt nicht recht was du damit meinst.

      Mein Template läuft mit 24 Einzelfeldern problemlos,
      von Auswahlmenü bis Textarea funktioniert alles, nur
      der Bildupload macht Zicken.


    Antworten

 Alle Einträge zum Thema: Zur Liste 
    Beitrag von wizard_merlin (32 Beiträge) am Mittwoch, 17.September.2003, 15:14.
    HELP - Ich komme einfach nicht weiter mit dem Bildupload ...


      kann mir bitte jemand helfen wie ich in der Lizenzversion
      den Bildupload zu einem Datensatz realisieren kann?

      Hab schon das Forum mehrmals durchkämmt und ziemlich alles
      versucht was ich gefunden habe, aber es will einfach nicht
      funktionieren.


      schnipp ----------

            out "<td>Produktfoto:</td><td><input type=radio name=\"_filec_Produktfoto=\" value=1 checked> Keine Datei ";
            out "<input type=radio name=\"_filec_Produktfoto=\" value=2> Neue Datei ";
            out "<input name=\"Produktfoto:=\" type=\"file\" size=30 onfocus=\"a=this.form.elements; for(i=0; i<a.length; i++) if(a[i].name==this.name) break; a[i-1].checked=1;\"></td>";
            out "</tr><tr>";
       
      
      ---------- schnapp


      Wo liegt der Fehler?

      Muß ich nicht noch irgendwo die Variable $Produktfoto in meinem Template
      unterbringen damit es funktioniert?


      Gruß
      wizard_merlin

     Antworten

    Beitrag von mk (966 Beiträge) am Mittwoch, 17.September.2003, 15:34.
    Re: HELP - Ich komme einfach nicht weiter mit dem Bildupload ...

      ich habs in der lizensversion hingekrigt,
      melde mich heut Abend.

     Antworten

    Beitrag von wizard_merlin (32 Beiträge) am Mittwoch, 17.September.2003, 15:50.
    Re: HELP - Ich komme einfach nicht weiter mit dem Bildupload ...

      jep, werde da sein.

      DANKE

     Antworten

    Beitrag von hempelr (1976 Beiträge) am Mittwoch, 17.September.2003, 17:48.
    Re: HELP - Ich komme einfach nicht weiter mit dem Bildupload ...

      Hallo, Zauberer,
      ist eigentlich kein Problem, ich hab das etliche male am laufen (allerdings nie mit dem Keine Datei checked...).
      Die ypsen Maskierungen machen das ding natürlich recht undurchsichtig, machs doch mal so:
      ---schnipp
      out<<EOF;
      <td>Produktfoto:</td>
      <td><input type=radio name="_filec_Produktfoto=" value=1 checked> Keine Datei 
      <input type=radio name="_filec_Produktfoto=" value=2> Neue Datei
      <input name="Produktfoto:=" type="file" size=30 onfocus="a=this.form.elements; for(i=0; i<a.length; i++) if(a[i].name==this.name) break; a[i-1].checked=1;"></td>
      </tr>
      EOF
      
      ---schnapp
      Da fällt mir ein, dass man wahrscheinlich bei Keine Datei für Neuanlage eh kein Checked braucht, das ist ja nur dazu da, dass die alte gelöscht wird, wenn eine da ist, wenn man nun das filec auf 1 für keine Datei bei der Neuanlage eines Datensatzes setzt, läuft das ja ins leere - weiss nicht, ob CB das abgefangen hat... (frag ihn doch mal ;-)

      Hoffe, das hilft dir weiter....
      Ruben

     Antworten

    Beitrag von mk (966 Beiträge) am Mittwoch, 17.September.2003, 18:15.
    Re: HELP - Ich komme einfach nicht weiter mit dem Bildupload ...

      so hab ich es:
      Das Feld heißt Bild

      <input type=radio name="_filec_Bild=" value=1 checked> Keine Datei <input type=radio name="_filec_Bild=" value=2> Neue Datei:<br>
      <input name="Bild:=" type="file" size=90 onfocus="a=this.form.elements; for(i=0; i<a.length; i++) if(a[i].name==this.name) break; a[i-1].checked=1;">
      

      wenn du auch ein Änderungsformular hast, ist es etwas kompliziert.
      da hab ich aber auch eine Lösung.

     Antworten

    Beitrag von wizard_merlin (32 Beiträge) am Mittwoch, 17.September.2003, 18:37.
    Re: HELP - Ich komme einfach nicht weiter mit dem Bildupload ...

      So hatte ich es auch schon drin (ist dein Beispiel das du im Juli
      hier im Forum hattest) und es hat leider auch nicht funktioniert
      bei mir - warum auch immer. Vermutlich liegt es wirklich an dem
      put-Bereich (siehe Eintrag unter Ruben).
      

      Und ja, eine Änderungsmöglichkeit für das Produktfoto sollte
      auch möglich sein, kannst es ja mal hier ins Forum stellen
      wenn du nichts dagegen hast.


      Danke
      wizard_merlin

     Antworten

    Beitrag von mk (966 Beiträge) am Mittwoch, 17.September.2003, 18:42.
    Re: HELP - Ich komme einfach nicht weiter mit dem Bildupload ...

      ich pute so
      put if %_put;
      

     Antworten

    Beitrag von wizard_merlin (32 Beiträge) am Mittwoch, 17.September.2003, 19:05.
    Re: HELP - Ich komme einfach nicht weiter mit dem Bildupload ...

      Mmh, ich verstehe jetzt nicht recht was du damit meinst.

      Mein Template läuft mit 24 Einzelfeldern problemlos,
      von Auswahlmenü bis Textarea funktioniert alles, nur
      der Bildupload macht Zicken.

     Antworten

    Beitrag von mk (966 Beiträge) am Mittwoch, 17.September.2003, 19:13.
    Re: HELP - Ich komme einfach nicht weiter mit dem Bildupload ...

      du kannst mit put if %_put; alle Felder mit einemmal übergeben,
      oder so wie du jeden einzelnen.
      andere können das bestimmt besser erklären.

      Hier nun wie man das Dateifeld ändern kann.

      nach dem man die Daten geholt hat, muß mann feststellen ob das Dateifeld belegt ist:

      $csBild=$Bild?" checked":"";
      $csBild2=$Bild?"":" checked";
      

      dann später dies hier:

      <input type=radio name="_filec_Bild=" value=0 $csBild>Datei behalten: $Bild 
      <input type=radio name="_filec_Bild=" value=1 $csBild2> Keine Datei 
      <input type=radio name="_filec_Bild=" value=2> Neue Datei:<br>
      <input name="Bild:=" type="file" size=30 onfocus="a=this.form.elements; for(i=0; i<a.length; i++) if(a[i].name==this.name) break; a[i-1].checked=1;">
      

     Antworten

    Beitrag von wizard_merlin (32 Beiträge) am Mittwoch, 17.September.2003, 19:52.
    Re: HELP - Ich komme einfach nicht weiter mit dem Bildupload ...

      ist, glaube ich, nur eine Schreibersparnis
      und hat wohl keinen tieferen Sinn. Um zu
      verstehen um was es geht und wieso was
      passiert ist die Einzelübergabe vermutlich
      auch besser geeignet und übersichtlicher.


      Danke für dein Beispiel, werde es verwenden
      wenn bei mir alles klappt wie es soll.
      Vielleicht kann ja doch noch jemand sagen
      warum das nicht funktioniert mit der Übergabe
      von dem Produktfoto. Stehe momentan mit dem
      Rücken an der Wand und komme nicht weg davon :-(


      wizard_merlin

     Antworten

    Beitrag von hempelr (1976 Beiträge) am Mittwoch, 17.September.2003, 20:21.
    Re: HELP - Ich komme einfach nicht weiter mit dem Bildupload ...

      Mhm - also nu hammer ja den Salat ;-)
      ganz klar an deiner Speicheranweisung - erstens: Feldname anders als Du die Variable zum Speichern nennst und zweitens die "verrückte" Art zu speichern.
      Probier doch mal aus, dir die Inhalte der Vars anzeigen zu lassen, einfach so:
      out "\$Produktfoto ($Produktfoto) // \$ein_Produktfoto ($ein_Produktfoto)<br>";
      
      und dann wird in den Klammern der tatsächliche Inhalt der Variablen angegeben.
      Nu isses mir zwar unerklärlich, wieso er $ein_Hersteller abspeichert, da dürfte ja auch kein Wert drin sein oder speicherst du irgendwo irgendwelche Werte um?
      Die von mk beschriebene Variante zum Speichern ist aber m.E. die bessere, da läuüfts fast elektrisch.
      Der Hash %_put ist nur gefüllt, wenn du ein Formular an das Template mit Feldnamen der Form name="Feldname:=" übergibtst (also wichtig das doppelpunkt-istgleich Duo); und nur wenns den hash %_put gibt, wird dann gespeichert; es sei denn, du machst es tatsächlich hart und nutzt die Anweisung
      put["feld",$feldinhalt], "datenbank";
      Wenn du Formularfelder der Form name="Feldname=" (also nur das istgleich) übergibst, werden diese in den get-Hash geschrieben.
      In beiden  Fällen sind die Werte nach Templateaufruf direkt als Variable über Ihren Feldnamen ansprechbar - bei nem get aber werden sie dann mit den aktuellen Werten überschrieben (naja - da bin ich aber noch nich so richtig eindeutig dahintergestiegen wann und wie gleichnamige Key-Wertpaare aus %_get %_put oder %_loop im Scriptverlauf überschrieben werden...).
      

      Das fixe put braucht man eigentlich eher so nicht oft; das ist mehr fürs mod und chg zu gebrauchen (wenn man nur bestimmte Feldinhalte ändern will, ist aber auch ein extra Kapitel, da nicht ganz "rund" in bp [gelle Christoph;-)???]
      Das put legt ja einen Neuen Datensatz an und da ist ein
      put undef, "db"; 
      
      eher recht sinnvoll.
      Ist halt immer etwas verzwickt, wenn du nicht alle Felder der DB im eigenen Formular hast und was ändern willst. Da werden dann keine komplett leeren Felder zugelassen, wenn ein leeres Formfeld übergeben wird, wird der Inhalt mit mod einfach halt mal nicht geändert - da muss man wieder das chg nehmen. Wenn man das aber nimmt und nicht explizit alle Feldwerte übergibt, werden die nicht übergebenen 'einfach mal so' geleert. Das zu umschiffen ist ein kleines Stück Programmierarbeit - ich hab mir da was gebaut, wo das dann im Endeffekt "sch..egal" ist, wie die Werte reinkommen, es passiert alles elektrisch und zwar werden beim Ändern einfach alle Feldwerte des zu ändernden Datensatzes geholt, mit $_put{feld} oder $_get{feld}, je nachdem ob %_put-Werte oder %_get-Werte ans Template übergeben wurden, verglichen und dann, wenn die reingekommenen Werte anders als die vorhandenen Werte sind, in den put-hash geschrieben und auf undef geändert. Das haut auch mit Dateifeldern hin, da das _filec_Feldname= ja im get-hash steht und der Basportal.pl sagt, sie solle mal das entsprechende mit der Datei machen (also löschen, ins voreingestellte Verzeichnis uploaden oder halt ändern [das ist dann beides, löschen und uploaden ;-)] - in die Datenbank wird nur der Dateiname abgespeichert, also wirklich nur die reinen alphanumerischen Zeichen).

      So und dann speicherst du hart ab, da bin ich mir dann nicht ganz sicher, ob Dateifelder überhaupt mitnehmbar sind - der binäre Datenstrom des Dateiinhaltes wird durchs _fielec geregelt, der Name müsste aber wohl mit abgespeichert werden.
      Bau mal dein Template testhalber auf das put if %_put um, vielleicht so:

      put undef, "datenbank" if $datensatz_neu_speichern eq "Ja" && %_put;
      

      Da brauchste nichts an deinen Parametern zu ändern (denk ich mal, kenne ja nur die paar Zeilen Code von dir) und es müsste dann gehen. Die Variante von mk ist auch nicht schlecht, vor allem, wenn man als Voreinstellung Kein Bild haben will.
      Übrigens, die Terme
      $csBild=$Bild?" checked":"";
      $csBild2=$Bild?"":" checked";
      
      kannst du auch bisserl auseinanderziehen und sind ne vereinfachte Schreibweise für ein wenn dann sonst
      $csBild = $Bild ? " checked" : ""; # wenn in $Bild was steht, dann checked sonst nichts
      $csBild2 = $Bild ? "" : " checked"; # analog vor halt nur wenn was in Bild,dann nichts sonst checked
      
      und das dann unten eingesetzt ergibt schön elektrische Radiobuttons in Abhängigkeit vom Feldinhalt des Bildfeldes (aber halt abhängig vom alphanumerischen Inhalt - unabhängig, ob die Datei physikalisch vorhanden ist oder nicht - du merkst das, wenn du die mal per ftp auf dem Server löscht....)

      So, nu hab ich ein halbes Handbuch geschrieben - hoffe, du kannst es halbwegs verstehen

      Gruß
      Ruben

     Antworten

    Beitrag von wizard_merlin (32 Beiträge) am Mittwoch, 17.September.2003, 20:56.
    Re: HELP - Ich komme einfach nicht weiter mit dem Bildupload ...

      wow, starker Tobak.

      Da muß ich jetzt aber erst mal durchsteigen
      und die kleinen grauen Zellen bemühen.

      Ich Danke dir für die Ausführliche Erklärung
      und hoffe die Lösung für mein Problem liegt
      in deinem "Handbuch".



      PS. Warum hat noch keiner eine Art Handbuch für den
      Zugriff via Perl auf Baseportal geschrieben? Es könnten
      Erklärungen und Beispieltemplates etc. zum Download
      angeboten werden. Das Ganze würde sicher einige Euros
      abwerfen können, ich zumindest wäre bereit dafür zu zahlen,
      gerne sogar.


      Danke Ruben und mk

     Antworten

    Beitrag von wizard_merlin (32 Beiträge) am Mittwoch, 17.September.2003, 18:27.
    Re: HELP - Ich komme einfach nicht weiter mit dem Bildupload ...

      Hi Ruben,

      ich hab dein Beispiel nun 1:1 übernommen und das Ergebnis
      ist wie gehabt, es geht einfach nicht. Die Auswahl des
      entsprechenden Bildes funktioniert zwar, aber es wird
      nicht auf dem Server abgelegt und auch nicht in der
      Dateiausgabe mit einer möglichen Bilddatei ins Leere
      verlinkt. Hab auch in der DB den Feldtyp überprüft
      und der steht auf Datei, also ganz so wie es sein soll.

      Was ich mir jetzt noch als Fehlerquelle vorstellen könnte
      ist dieser put-Bereich zum speichern eines neuen Datensatzes:



      schnipp --------------


         }
      
         if ($datensatz_neu_speichern eq "Ja") {                         put ["Hersteller",$ein_Hersteller,
                                   ... ,
                                   ... ,
                                   ... ,
                                   ... ,
                                   "Produktfoto",$ein_Produktfoto,
                                   ... ,
                                   ... ,
                                   ... ,
                                   ... ,
                                                    ],"datenbank";
      


      -------------- schnapp


      $ein_Produktfoto stimmt ja so nicht, nur was gebe ich hier zum 
      
      speichern des Produktfotos an? Ich hoffe du kannst mir helfen,
      Perl ist leider noch ein Buch mit 7 Siegeln für mich.



      PS. Ist mir gerade erst aufgefallen. Sollte dies wirklich
      die Fehlerquelle sein, dann trete ich mir selbst in den Hintern.




      Gruß
      wizard_merlin

     Antworten


     
 Liste der Einträge von 35100 bis 35250:Einklappen Zur Eingabe 
Neueste Einträge << 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | Neuere Einträge < Zur Eingabe  > Ältere Einträge | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 >> Älteste Einträge


Zurück zur Homepage

© baseportal.de. Alle Rechte vorbehalten. Nutzungsbedingungen



powered in 0.06s by baseportal.de
Erstellen Sie Ihre eigene Web-Datenbank - kostenlos!