Ankündigung

Einklappen
Keine Ankündigung bisher.

Upload Problem!

Einklappen

Neue Werbung 2019

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

  • Upload Problem!

    Ich hab folgendes Problem!!!

    Wo liegt der Fehler dass wenn ich n bild hochlade die ganzen daten gelöscht werden??
    Ich bekomme es einfach nicht anders hin!
    PHP-Code:
     <?php 
    session_start
    (); 

    if(!isset(
    $_SESSION["username"])) 

      die(
    "Bitte erst <a href=\"index.html\">einloggen"); 
    }
    ?> 
    <?php 
    $link 
    mysql_connect("localhost","knuff","pw") or die ("Keine Verbindung moeglich"); 
    mysql_select_db("knuff") or die ("Die Datenbank existiert nicht")?> 
    <?php 
    if($_SERVER['REQUEST_METHOD'] == 'POST'

      
    extract($_POST); 
    $aendern "UPDATE profil SET username = '".mysql_escape_string($username)."', geb = '".mysql_escape_string($geb)."', ort = '".mysql_escape_string($ort)."', land = '".mysql_escape_string($land)."', icq = '".mysql_escape_string($icq)."', msn = '".mysql_escape_string($msn)."', hp = '".mysql_escape_string($hp)."', hobbys = '".mysql_escape_string($hobbys)."', 
    skype = '"
    .mysql_escape_string($skype)."', email = '".mysql_escape_string($email)."', mich = '".mysql_escape_string($mich)."'   
       WHERE username = '"
    .mysql_escape_string($username)."'"
      
    $update mysql_query($aendern) or die(mysql_error()); 
      echo 
    "<br>Die Daten wurden erfolgreich geändert."

    else 

        
    $user $_SESSION["username"]; 
      
    $abfrage "SELECT * FROM profil WHERE username = '$user'"
      
    $ergebnis mysql_query($abfrage); 
      while (
    $row mysql_fetch_object($ergebnis)) 
      { 
        echo 
    "<br><form method=\"post\"> 
    <table width=\"96%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\"> 
      <tr> 
        <td width=\"13%\">Name:</td> 
        <td width=\"28%\">
    $row->username</td> 
      </tr> 
      <tr> 
        <td>Geburtsdatum:</td> 
        <td><input type=\"text\" name=\"geb\" value=\"
    $row->geb\" /></td> 
      </tr> 
      <tr> 
        <td>Ort:</td> 
        <td><input type=\"text\" name=\"ort\" value=\"
    $row->ort\" /></td> 
      </tr> 
      <tr> 
        <td>Land:</td> 
        <td><input type=\"text\" name=\"land\" value=\"
    $row->land\" /></td> 
      </tr> 
      <tr> 
        <td>&nbsp;</td> 
        <td>&nbsp;</td> 
      </tr> 
      <tr> 
        <td>Kontakt:</td> 
        <td>&nbsp;</td> 
      </tr> 
        <tr> 
        <td>E-Mail:</td> 
        <td><input type=\"text\" name=\"email\" value=\"
    $row->email\" /></td> 
      </tr> 
      <tr> 
        <td>Msn:</td> 
        <td><input type=\"text\" name=\"msn\" value=\"
    $row->msn\" /></td> 
      </tr> 
      <tr> 
        <td>Icq:</td> 
        <td><input type=\"text\" name=\"icq\" value=\"
    $row->icq\" /></td> 
      </tr> 
      <tr> 
        <td>Skype:</td> 
        <td><input type=\"text\" name=\"skype\" value=\"
    $row->skype\" /></td> 
      </tr> 
      <tr> 
        <td>Homepage:</td> 
        <td><input type=\"text\" name=\"hp\" value=\"
    $row->hp\" /></td> 
      </tr> 
      <tr> 
        <td>Hobbys:</td> 
        <td><textarea name=\"hobbys\" cols=\"10\" rows=\"3\">
    $row->hobbys</textarea></td> 
        </tr> 
          <tr> 
        <td>Über mich:</td> 
        <td><textarea name=\"mich\" cols=\"25\" rows=\"7\">
    $row->mich</textarea></td> 
        </tr> 
    </table> 
    <input type=\"submit\" name=\"Submit\" value=\"&Auml;ndern\" /> 
    <input type=\"reset\" name=\"Submit2\" value=\"Zur&uuml;cksetzen\" /> 
    </form>"

        } 

    ?> 
    <?php 
      $abfrage 
    "SELECT bild FROM profil WHERE username = '$user'"
      
    $ergebnis mysql_query($abfrage); 
      
    $pic mysql_fetch_object($ergebnis); 

    echo 
    "<center><form method=\"post\" action=\"\" enctype=\"multipart/form-data\"  >  
        <table border=\"0\" cellpadding=\"0\" cellspacing=\"2\"> 
            <tr > 
                <td><img src='admin/avatar/
    $pic->bild'><br><br><br><br><br></td> 
                <td><input type=\"file\" name=\"file1\" size=\"16\"></td> 
            </tr> 
            <tr > 
                <td></td> 
                <td><input type=\"submit\" value=\"Upload\"></td> 
            </tr> 
            </table> 
    </form>"


    if(
    $_FILES['file1']['tmp_name'] != "" and $_FILES['file1']['size'] < 102400)  


    $uploaddir "admin/avatar/"
    $user $_SESSION["username"]; 
    $dateiname $_FILES['file1']['name']; 


                
    $eintragen "UPDATE profil Set bild = '$dateiname' WHERE username = '$user'"
                
    $austragen mysql_query($eintragen) or die(mysql_error()); 

        if(
    move_uploaded_file($_FILES['file1']['tmp_name'], $uploaddir.$_FILES['file1']['name']))  
        { 
            
    $dateipfad $uploaddir.$dateiname
             
            echo 
    "Datei wurde hochgeladen(".$dateipfad.")."
        } else { 
            echo 
    "Datei konnte nicht hochgeladen werden."
        } 
         

    else 

    echo 
    "Die datei darf höchstens 100kb groß sein!<br>";  

    ?>
    Kann mir einer Helfen!

    Grüße Knuff

  • #2
    Naja soviel ich weiss muss mann wenn man eine Tabelle "Updatet" alle Felder updaten.

    Also musst du erstmal alle Felder aus der Tabelle Profile usw selectieren und dann entsprechend updaten. Da wo ein neuer Eintrag rein soll setzt du dann die neue Variable hinein!

    Kommentar


    • #3
      Zitat von redheador Beitrag anzeigen
      Naja soviel ich weiss muss mann wenn man eine Tabelle "Updatet" alle Felder updaten.
      Wie bitte? Seit wann ist denn das so? Also ich update meistens nur einzelne Felder und nie die ganze Tabelle und es funktioniert immer. Die Update-Funktion würde auch keinen Sinn machen, wenn man immer alles updaten müsste.

      Hast du mal überprüft, was in $user drin steht? Gibt mysql_error() keinen Fehler aus?

      Kommentar


      • #4
        Ja wenn $user leer ist, dann hat dein Statement keine WHERE Bedingung und überschreibt somit alle Datensätze

        Kommentar


        • #5
          Ja!

          Zitat von drieling Beitrag anzeigen
          Ja wenn $user leer ist, dann hat dein Statement keine WHERE Bedingung und überschreibt somit alle Datensätze
          Ja,
          also der $user ist nicht leer! Dass problem liegt dabei dass wenn ich ein bild hochlade dass dann des profil überschrieben wird und dann alles gelöscht ist weiß aber net woran des liegt!

          Danke Knuff

          Kommentar


          • #6
            Zitat von Montellese Beitrag anzeigen
            Wie bitte? Seit wann ist denn das so? Also ich update meistens nur einzelne Felder und nie die ganze Tabelle und es funktioniert immer. Die Update-Funktion würde auch keinen Sinn machen, wenn man immer alles updaten müsste.

            Hast du mal überprüft, was in $user drin steht? Gibt mysql_error() keinen Fehler aus?
            Da hab ich aber andere Erfahrungswerte...

            Bei mir hat er dann zwar das bestimmte Feld geupdatet die anderen waren dann allerdings immer leer.

            Kommentar


            • #7
              Zitat von redheador Beitrag anzeigen
              Da hab ich aber andere Erfahrungswerte...

              Bei mir hat er dann zwar das bestimmte Feld geupdatet die anderen waren dann allerdings immer leer.
              Also ich benutze PHP schon seit mehr als 5 Jahren in Zusammenhang mit MySQL, SQLite etc und in keiner der bisherigen Versionen ist es mir jemals passiert, dass bei einem Update eines einzelnen Feldes die restlichen Felder verändert wurden (ausser ich habe was bei der WHERE-Bedingung verbockt und so alles zerschossen ^^).
              Ich habe auch keine Ahnung, ob das Konfigurationssache ist, möglich wäre es, aber ich wüsste nicht wo!

              Kommentar


              • #8
                Zitat von Montellese Beitrag anzeigen
                Also ich benutze PHP schon seit mehr als 5 Jahren in Zusammenhang mit MySQL, SQLite etc und in keiner der bisherigen Versionen ist es mir jemals passiert, dass bei einem Update eines einzelnen Feldes die restlichen Felder verändert wurden (ausser ich habe was bei der WHERE-Bedingung verbockt und so alles zerschossen ^^).
                Ich habe auch keine Ahnung, ob das Konfigurationssache ist, möglich wäre es, aber ich wüsste nicht wo!

                naja wei gesagt seit dem mir das mal passiert ist mach ichs wie oben beschrieben^^

                Is allerdings zum Teil echt nervig...

                Naja werd das demnächst mal wieder richtig probieren und schauen obs funzt

                Kommentar


                • #9
                  Code:
                  UPDATE meineTabelle SET feld1='wert1' WHERE feldId=123
                  Da wird nur feld1 bei den passenden Datensätzen geändert. Alle anderen Felder bleiben unverändert. Und dafür gibt es auch keine Konfigurationsparameter bei mysql.

                  Kommentar


                  • #10
                    Habs gelöst!!!

                    Der Fertige Quelltext sieht so aus!

                    PHP-Code:
                    <?php

                    $link 
                    mysql_connect("localhost","knuff","pw") or die ("Keine Verbindung moeglich");
                    mysql_select_db("knuff") or die ("Die Datenbank existiert nicht");

                    if(
                    $_SERVER['REQUEST_METHOD'] == 'POST'){
                          
                    extract($_POST);
                        
                    $geb $tag.$monat.$jahr;
                        
                    $aendern "UPDATE profil SET username = '".mysql_escape_string($username)."', vorname = '".mysql_escape_string($vor)."', nachname = '".mysql_escape_string($nach)."', geb = '".mysql_escape_string($geb)."', ort = '".mysql_escape_string($ort)."', land = '".mysql_escape_string($land)."', icq = '".mysql_escape_string($icq)."', msn = '".mysql_escape_string($msn)."', hp = '".mysql_escape_string($hp)."', hobbys = '".mysql_escape_string($hobbys)."',
                    skype = '"
                    .mysql_escape_string($skype)."', email = '".mysql_escape_string($email)."', mich = '".mysql_escape_string($mich)."'";  
                           if(
                    $_FILES['file1']['tmp_name'] != "" and $_FILES['file1']['size'] < 102400) {
                            
                    $uploaddir "admin/avatar/";
                            
                    $user $_SESSION["username"];
                            
                    $dateiname $_FILES['file1']['name'];


                                     

                                if(
                    move_uploaded_file($_FILES['file1']['tmp_name'], $uploaddir.$_FILES['file1']['name'])){
                                
                    $dateipfad $uploaddir.$dateiname;
                                echo 
                    "Datei wurde hochgeladen";
                                
                    $aendern .= ", bild = '$dateiname'  ";
                                }else{
                                echo 
                    "Datei konnte nicht hochgeladen werden.";
                                }
                        
                        }else{
                            echo 
                    "Die datei darf höchstens 100kb groß sein!<br>"
                        }

                          
                    $aendern .= "WHERE username = '".mysql_escape_string($username)."'";
                          
                    $update mysql_query($aendern) or die(mysql_error());
                          echo 
                    "Die Daten wurden erfolgreich geändert.";
                    }else{
                      
                    $abfrage "SELECT * FROM profil WHERE username = '".mysql_escape_string($username)."'";
                      
                    $ergebnis mysql_query($abfrage);
                      while(
                    $row mysql_fetch_object($ergebnis)){
                          echo 
                    "<form method=\"post\" enctype=\"multipart/form-data\">
                            <table width=\"96%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">
                                  <tr>
                                        <td width=\"13%\">Name:</td>
                                        <td width=\"28%\">
                    $row->username</td>
                                  </tr>
                                <tr>
                                        <td>Vorname:</td>
                                        <td><input type=\"text\" name=\"vor\" value=\"
                    $row->vorname\" /></td>
                                  </tr>
                                <tr>
                                        <td>Nachname:</td>
                                        <td><input type=\"text\" name=\"nach\" value=\"
                    $row->nachname\" /></td>
                                  </tr>
                                  <tr>
                                        <td>Geburtsdatum:</td>
                                        <td><select name=\"tag\">
                        <option selected=\"selected\">
                    $row->tag</option>
                        <option>1</option>
                        <option>2</option>
                        <option>3</option>
                        <option>4</option>
                        <option>5</option>
                        <option>6</option>
                        <option>7</option>
                        <option>8</option>
                        <option>9</option>
                        <option>10</option>
                        <option>11</option>
                        <option>12</option>
                        <option>13</option>
                        <option>14</option>
                        <option>15</option>
                        <option>16</option>
                        <option>17</option>
                        <option>18</option>
                        <option>19</option>
                        <option>20</option>
                        <option>21</option>
                        <option>22</option>
                        <option>23</option>
                        <option>24</option>
                        <option>25</option>
                        <option>26</option>
                        <option>27</option>
                        <option>28</option>
                        <option>29</option>
                        <option>30</option>
                        <option>31</option>
                      </select>
                      <select name=\"monat\" size=\"1\">
                        <option>Januar</option>
                        <option>Februar</option>
                        <option>M&auml;rz</option>
                        <option>April</option>
                        <option>Mai</option>
                        <option>Juni</option>
                        <option>Juli</option>
                        <option>August</option>
                        <option>September</option>
                        <option>Oktober</option>
                        <option>November</option>
                        <option>Dezember</option>
                      </select>
                       <label>
                       <select name=\"jahr\" size=\"1\">
                         <option>2000</option>
                         <option>1999</option>
                         <option>1998</option>
                         <option>1997</option>
                         <option>1996</option>
                         <option>1995</option>
                         <option>1994</option>
                         <option>1993</option>
                         <option>1992</option>
                         <option>1991</option>
                         <option>1990</option>
                         <option>1989</option>
                         <option>1988</option>
                         <option>1987</option>
                         <option>1986</option>
                         <option>1985</option>
                         <option>1984</option>
                         <option>1983</option>
                         <option>1982</option>
                         <option>1981</option>
                         <option>1980</option>
                         <option>1979</option>
                         <option>1978</option>
                         <option>1977</option>
                         <option>1976</option>
                       </select></td
                                  </tr>
                                 <tr>
                                        <td>&nbsp;</td>
                                        <td>&nbsp;</td>
                                  </tr>
                                  <tr>
                                        <td>Ort:</td>
                                        <td><input type=\"text\" name=\"ort\" value=\"
                    $row->ort\" /></td>
                                  </tr>
                                <tr>
                                        <td>Land:</td>
                                        <td><input type=\"text\" name=\"land\" value=\"
                    $row->land\" /></td>
                                </tr>
                                  <tr>
                                        <td>&nbsp;</td>
                                        <td>&nbsp;</td>
                                  </tr>
                                  <tr>
                                        <td>Kontakt:</td>
                                        <td>&nbsp;</td>
                                  </tr>
                                    <tr>
                                        <td>E-Mail:</td>
                                        <td><input type=\"text\" name=\"email\" value=\"
                    $row->email\" /></td>
                                  </tr>
                                <tr>
                                        <td>Msn:</td>
                                        <td><input type=\"text\" name=\"msn\" value=\"
                    $row->msn\" /></td>
                                </tr>
                                  <tr>
                                        <td>Icq:</td>
                                        <td><input type=\"text\" name=\"icq\" value=\"
                    $row->icq\" /></td>
                                  </tr>
                                  <tr>
                                        <td>Skype:</td>
                                        <td><input type=\"text\" name=\"skype\" value=\"
                    $row->skype\" /></td>
                                  </tr>
                                  <tr>
                                        <td>Homepage:</td>
                                        <td><input type=\"text\" name=\"hp\" value=\"
                    $row->hp\" /></td>
                                  </tr>
                                  <tr>
                                        <td>Hobbys:</td>
                                        <td><textarea name=\"hobbys\" cols=\"10\" rows=\"3\">
                    $row->hobbys</textarea></td>
                                    </tr>
                                      <tr>
                                        <td>Über mich:</td>
                                        <td><textarea name=\"mich\" cols=\"25\" rows=\"7\">
                    $row->mich</textarea></td>
                                    </tr>
                                <tr >
                                            <td>Profilbild:</td>
                                            <td><img src='admin/avatar/
                    $row->bild'/><td>
                                <tr>
                                            <td></td>
                                            <td><input type=\"file\" name=\"file1\" size=\"16\"></td>
                                       </tr>
                                    </tr>
                            </table>
                            <input type=\"submit\" name=\"Submit\" value=\"&Auml;ndern\" />
                            <input type=\"reset\" name=\"Submit2\" value=\"Zur&uuml;cksetzen\" />
                        </form>"
                    ;
                      }
                    }
                    ?>

                    Kommentar

                    Lädt...
                    X