zu gestern [userbild]

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • zu gestern [userbild]

    Habe folgendest probleme und versuche es schon den ganzen tag in grif zu bekommen.
    Man nen script um die daten der user zu editieren und ein anderes bildhochzuladen.

    •userdaten editieren funzt !!
    • bildupload funzt

    nur was ich möchte:
    • wenn der user kein neues bild uploaded (nur z.b.tel.) ändert soll der rest bleiben wie er ist
    •wenn der user nen neues bild uploaded soll der das alte löschen und das neue wieder nach vorname_nachname.jpg speichern (oder einfach das andere überschreiben
    •wenn der user nen neues bild uploadet und nen anderen name, nachname oder beides ändert, soll der das neue bild nach neuem namen benennen, und das alte löschen. damit ich keine toten bilder aufm server habe


    mein ausführendes scipt sieht dazu so aus:
    PHP-Code:
    <?php
    error_reporting
    (E_ALL); 
    include(
    "config.inc.php");
    include(
    "datenbank.inc.php");
    //post daten
    $first_name $_POST['first_name_old'];
    $last_name $_POST['last_name_old'];
    $first_name_new $_POST['first_name_new'];
    $last_name_new $_POST['last_name_new'];
    $spitzname $_POST['spitzname'];
    $email_address $_POST['email_address'];
    $birthday $_POST['birthday'];
    $phone $_POST['phone'];
    $mobile $_POST['mobile'];
    $abi1 $_POST['abi1'];
    $abi2 $_POST['abi2'];
    $literatur[] = $_POST['literatur[]'];
    $info $_POST['info'];
    $bildname $HTTP_POST_FILES['bilddir']['tmp_name'];
    $street $_POST['street'];
    $plz $_POST['plz'];
    //falls keine gruppe ausgewählt ist
    if(is_array($literatur)){
     
    $literatur join(",",$literatur);
    }else {
     
    $literatur "hat kein Literatur belegt";
    }
    //db updaten
    echo $first_name."----".$last_name."<br>";
    echo 
    $bildname;
    $abfrage "update $lampen_user set last_name='$last_name_new', 
                                        first_name='
    $first_name_new',
                                        spitzname='
    $spitzname', 
                                        email_address='
    $email_address' ,
                                        street='
    $street' ,
                                        plz='
    $plz' ,
                                        town='
    $town' ,
                                        birthday='
    $birthday' ,
                                        phone='
    $phone' ,
                                        mobile='
    $mobile' ,
                                        abi1='
    $abi1' ,
                                        abi2='
    $abi2' ,
                                        literatur='
    $literatur' ,
                                        info='
    $info' ,
                                        literatur='
    $literatur',
                                        bilddir='
    $bilddir
                                        where last_name='
    $last_name' and first_name='$first_name'";
    $result mysql_query($abfrage$conn);
    if (!
    $result)
     echo 
    mysql_error();
    if (!empty(
    $result) )
        
    //1a
        
    {
            if (
    $bildname !=="" or $bildname !=="none" 
            
    //2a
            
    {
               if (
    $first_name !== $first_name_new || $last_name != $first_name_new)
                   
    //3a
                 
    {
                   echo 
    "altes bild wird gelöscht  - da der first/last_name geändert wurde <br>";
                   
    $bild $first_name."_".$last_name.".jpg";
                  
    $file "../../images/schuler/".$bild;
                  if (
    is_file($file))
                  
    //4a    
                    
    {
                      echo 
    "<img src=\"../../images/schuler/$bild\" width=\"120\" height=\"160\"><br>";
                      
    unlink "../../images/schuler/".$bild);
                      
    move_uploaded_file($bildname$userbild.$first_name_new."_".$last_name_new.".jpg");
                      echo 
    "neuesbild wurde hochgeladen  - da der first/last_name geändert wurde<br>";
                       echo 
    $schulererfolgreich;
                    
    //4z------------
                    
    }
                  
    //3z ---------------
                  
    }
            
    //2z--------------
            
    }
                else 
                
    //5a
                 
    {
                 
    move_uploaded_file($bildname$userbild.$first_name."_".$last_name.".jpg");
                 echo 
    "neuesbild wurde hochgeladen - aber der name wurde nicht geändert<br>";
                  echo 
    $schulererfolgreich;
                   
    //5z-----------------
                   
    }
            
    //1z-------------
            
    }
    ?>
    leider funzt das mit dem bild nicht so richtig
    -parse error z.B.
    • wenn ich kein bild auswähle
    • eigendlich ganz oft *g* schaut selbst!

    auch zu finden unter:
    http://www.wnmedia.de/lampenfieber/a...hulerverwalten
    Zuletzt geändert von mukraker; 11.02.2003, 20:51.
    thx Mukraker

  • #2
    prüfe mal ab, ob in $bildname nach einem update ohne bild was drin ist.

    da dürfe bei keinem bild auch nichts oder NULL drin stehen.
    danach kannst du prüfen und dein script anpassen.
    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


    Kommentar


    • #3
      mhm er gibt
      "none" aus <--


      if ($bildname !=="" or $bildname !=="none" )

      gehts nicht ander ?


      ist das nicht auch empty ?
      Zuletzt geändert von mukraker; 11.02.2003, 18:33.
      thx Mukraker

      Kommentar


      • #4
        wenn dann schon so.


        PHP-Code:
        if ($bildname !="" or $bildname !="none" ) { .... } 
        syntax beachten
        INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


        Kommentar


        • #5
          Re: update / userbild

          Original geschrieben von mukraker
          ?wenn der user nen neues bild uploadet und nen anderen name, nachname oder beides ändert, soll der das neue bild nach neuem namen benennen, und das alte löschen.
          warum soll der user vor- und nachname ändern können?

          nickname ja vielleicht noch, obwohl das auch unüblich ist, da weiss man ja nachher kaum mehr wer jetzt wer ist.

          sowas muss man idR nicht ändern können.
          I don't believe in rebirth. Actually, I never did in my whole lives.

          Kommentar


          • #6
            1. ich weiß das das codebeispiell anders muss
            2. k das nicht fürn user ! nur ich als admin kann was ändenr!!
            wird ne art adressen sammlung und falls ich mich mal vertippe kann ichs
            so schnell ändern!



            also ? wer kann helfen?
            thx Mukraker

            Kommentar


            • #7
              was willst du denn jetzt noch wissen? Also nur konkrete Fragen, ohne viel Code...

              Kommentar


              • #8
                was an meinem code falsch ist!!
                was sont!

                schau dir oben den link an und versuch nen user zu editiern + oder ohne bildupload


                z.B. wenn ich einfach nur z.B. die straße änder:

                Warning: Unlink failed (No such file or directory) in /mnt/ls1/11/392/00000003/htdocs/lampenfieber/admin/admin/schuleraendern1.inc.php on line 60
                Zuletzt geändert von mukraker; 11.02.2003, 20:18.
                thx Mukraker

                Kommentar


                • #9
                  na und, noch viel sprechender als Warning: Unlink failed (No such file or directory) geht's doch wohl nicht!

                  du hast versucht, eine datei zu löschen, die es gar nicht gibt.
                  I don't believe in rebirth. Actually, I never did in my whole lives.

                  Kommentar


                  • #10
                    achne!
                    das versuche ich zu umgehen
                    PHP-Code:
                     $bild $first_name."_".$last_name.".jpg";
                                  
                    $file "../../images/schuler/".$bild
                                  
                    if (is_file($file)
                                      {
                                      echo 
                    "<img src=\"../../images/schuler/$bild\" width=\"120\" height=\"160\"><br>";
                                      
                    unlink "../../images/schuler/".$bild); 

                    leider bekomme ich da nen parse,

                    wie muss ich das genau mit is_file () machen ? ich kannte es nur so!
                    thx Mukraker

                    Kommentar


                    • #11
                      • betrachte er sein code-fragment
                      • zähle er die zahl der öffnenden klammern
                      • merke er sie sich
                      • zähle er die zahl der schließenden klammern
                      • multipliziere er die beiden werte
                      • teile er durch die zahl der öffnenden klammern
                      • ziehe er die zahl der öffnenden klammern ab
                      • ist der wert kleiner 0 fehlt der betrag des wertes an schließenden klammern
                      • ist der wert größer 0 fehlt der betrag des wertes an öffnenden klammern
                      • ist der wert ungleich 0: fehler korrigieren
                      • ergänze er das fehlende semikolon
                      Zuletzt geändert von mrhappiness; 11.02.2003, 20:40.
                      Ich denke, also bin ich. - Einige sind trotzdem...

                      Kommentar


                      • #12
                        OffTopic:
                        @happy: SO viel mühe?

                        Kommentar


                        • #13
                          scheiße man kann ich denn nicht zählen ?!
                          thx Mukraker

                          Kommentar


                          • #14
                            Original geschrieben von TobiaZ
                            OffTopic:
                            @happy: SO viel mühe?
                            so bin ich halt:
                            edel, hilfreich und gut
                            Ich denke, also bin ich. - Einige sind trotzdem...

                            Kommentar


                            • #15
                              da wir heute den tag des sauber geschrieben php codes haben...

                              der php modus wird mit <?php eingeleitet nicht mit <? . das kann sonst schnell zu imkompatibilitätsproblemen mit anderen scriptsprachen führen.

                              in der zeile nach dem einleitenden <?php wird immer das error_reporting() angegeben.

                              z.b.:
                              error_reporting(E_ALL);

                              auf php.net müssten alle nutzbaren parameter aufgelistet sein. im zweifelsfall stehen sie aber auch in der php.ini - da wo man die standardangebe dafür setzen kann.
                              du solltest das mal in dein script setzen. das wird dich dann wohl erstmal mit warnungen und hinweisen überfluten deren ursache du auf den grund gehen solltest.

                              dein:
                              PHP-Code:
                              $first_name $_POST['first_name_old'];
                              $last_name $_POST['last_name_old'];
                              $first_name_new $_POST['first_name_new']; 
                              ist ein problem. wenn da eines der felder nicht ausgefüllt wurde, dann macht php sich lautstark bemerkbar. das wirst du sehen, wenn du das error_reporting() reingesetzt hast.

                              wenn dus sauber machen willst, dann schreib sowas wie:

                              PHP-Code:
                              $first_name = (isset($_POST['first_name_old'])) ? $_POST['first_name_old'] : "";
                              $last_name = (isset($_POST['last_name_old'])) ? $_POST['last_name_old'] : "";
                              $first_name_new = (isset($_POST['first_name_new'])) ? $_POST['first_name_new'] : ""
                              falls du mit dieser syntax nicht vertraut bist, das ist jeweils die kurzform für

                              PHP-Code:
                              if (isset($_POST['irgendwas'])) {
                              $bla $_POST['irgendwas'];
                              } else {
                              $bla "";

                              martin

                              Kommentar

                              Lädt...
                              X