Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] SQL Update Problem mit Grafikupload

Einklappen

Neue Werbung 2019

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

  • [Erledigt] SQL Update Problem mit Grafikupload

    Hallo,

    Ich möchte auf meiner Seite hin und wieder Texte und Bilder ändern hierfür habe ich folgenden Code:

    PHP-Code:
    <?php


    // Prüfen ob Admin oder nicht
                
    if(!isset($_SESSION['Rechte']) OR !in_array('Adminbereich' $_SESSION['Rechte']))
                { 
        
    // Ab hier USER
                    
    echo "<meta http-equiv='refresh' content='0; URL=../startseite'>";
        
    // Ende für USER
                
    }
            else
                { 
        
    // Ab hier ADMIN 
                    
    if(!isset($_GET['texte']))
        {

        }
        else
        {
            if(
    $_GET['texte'] == 'edit')
            {
    $id $_GET['id'];
    include_once(
    "./fckeditor/fckeditor.php");
    $abfrage "SELECT * FROM artikel WHERE id ='$id'";
    $ergebnis mysql_query($abfrage);
    while(
    $row mysql_fetch_object($ergebnis))
    {
               echo 
    "


    <fieldset>





                        <form enctype='multipart/form-data' action='index.php?seite=artikel&texte=submit&amp;id=
    $row->id' method='post'>
                                  
                        <tr>
                        <td>Titel:<br><input type='text' readonly='readonly' name='titel' size='90' value='
    $row->titel'></td><br>
                        <td>Subtitel:<br><input type='text'   name='subtitel' size='90' value='
    $row->subtitel'></td><hr>
                        <td>Subimage:<br><input type='text'   name='subimage' size='90' value='
    $row->subimage'></td><br>

    <input type='file' name='datei'><hr>




                        <td>Meta Titel:<br><input type='text' name='meta_titel' size='90' value='
    $row->meta_titel'></td><br>
                        <td>Meta Beschreibung:<br><input type='text' name='meta_beschreibung' size='90' value='
    $row->meta_beschreibung'></td><br>
                        <td>Meta Keywords:<br><input type='text' name='meta_keywords' size='90' value='
    $row->meta_keywords'></td><br>

    <br>
    </fieldset>        "
    ;
            
            
    $oFCKeditor = new FCKeditor('inhalt') ;
            
    $oFCKeditor->Width '50%';
            
    $oFCKeditor->Height '350'
            
    $oFCKeditor->BasePath '/fckeditor/';
            
    $oFCKeditor->Value        $row->text ;    
            
    $oFCKeditor->Create() ;
               
            echo 
    "
                        <br/><td><input type='submit' value='&auml;ndern'></font></td>
                        </tr> </form>"
    ;
                    }    
            }
        

    elseif(
    $_GET['texte'] == 'submit')
            {

    $dateityp GetImageSize($_FILES['datei']['tmp_name']);
    if(
    $dateityp[2] != 0)
       {

       if(
    $_FILES['datei']['size'] <  1024000)
          {
          
    move_uploaded_file($_FILES['datei']['tmp_name'], "images/subtitel/".$_FILES['datei']['name']);
          echo 
    "".$_FILES['datei']['name']." ";
          }

       else
          {
             echo 
    "Das Bild darf nicht größer als 100 kb sein ";
          }

        }

    else
        {
        echo 
    "Bitte nur Bilder im Gif bzw. jpg Format hochladen";
        }


    $id $_POST["id"];
    $titel $_POST["titel"];
    $inhalt $_POST["inhalt"];
    $autorID $_SESSION["UserID"];

    $subtitel $_POST["subtitel"];
    $subimage $_POST["subimage"];
    $meta_titel $_POST["meta_titel"];
    $meta_beschreibung $_POST["meta_beschreibung"];
    $meta_keywords $_POST["meta_keywords"];

                    
    $sql "UPDATE
                                    artikel
                                SET
                                    titel = '"
    .$titel."',
                                    subtitel = '"
    .$subtitel."',
                                    subimage = '"
    .$_FILES['datei']['name']."',
                                    meta_titel = '"
    .$meta_titel."',
                                    meta_beschreibung = '"
    .$meta_beschreibung."',
                                    meta_keywords = '"
    .$meta_keywords."',
                                    text =  '"
    .$inhalt"'
                                WHERE 
                                    id = '"
    .$_GET['id']."'
                    "
    ;   
                    
    mysql_query($sql) OR die("<pre>\n".$sql."</pre>\n".mysql_error());
                    echo 
    "<font color='#008000'><b>die &Auml;nderung wurde erfolgreich durchgef&uuml;hrt</b><br><br><br></font>";  
            }


    }
    }

                
    ?>


                <ul>
                    <li>
        

    <?php
                        $abfrage 
    "SELECT * FROM artikel ";
                        
    $ergebnis mysql_query($abfrage);
                        while(
    $row mysql_fetch_object($ergebnis))
                           {
                echo 
    "<a class=\"edit\" href=\"index.php?seite=artikel&texte=edit&amp;id=$row->id\" title=\"Update der Texte\" ></a>";
                echo 
    "<b>$row->titel</b> <br> ";
                echo 
    "&Auml;nderung: $row->datum ";
                echo 
    "von:$row->user <br> ";

                           
                        }
                    
    ?> <br><br><br>


                    </li>
                </ul>
    das funktioniert auch alles auch der Upload des Bildes ABER wenn ich zb. nur den Text ändern aber kein neues Bild hochlade wird der "alte" eintrag in der Datenbank gelöscht. Das darf natürlich nicht sein sprich ich brauche eine Funktion die prüft ob etwas hochgeladen wurde und wenn nicht so das Feld subimage nicht geändert werden. Kann mir dabei jemand helfen bzw. meinen Code passend verändern wäre auch bereit ein paar Euro per PayPal zu bezahlen.

    Vielen Dank


  • #2
    PHP-Code:
                    $sql "UPDATE 
                                    artikel 
                                SET 
                                    titel = '"
    .$titel."', 
                                    subtitel = '"
    .$subtitel."', 
                                    "
    . (count($_FILES)?("subimage = '".$_FILES['datei']['name']."', ")). "
                                    meta_titel = '"
    .$meta_titel."', 
                                    meta_beschreibung = '"
    .$meta_beschreibung."', 
                                    meta_keywords = '"
    .$meta_keywords."', 
                                    text =  '"
    .$inhalt"' 
                                WHERE  
                                    id = '"
    .$_GET['id']."'"
    Zitat von nikosch
    Macht doch alle was Ihr wollt mit Eurem Billigscheiß. Von mir aus sollen alle Eure Server abrauchen.

    Kommentar


    • #3
      das ging ja flott vielen dank.
      Jedoch klappt es nicht richtig ich bekomme nur eine leere seite
      Parse error: syntax error, unexpected ')'

      Zitat von tkausl Beitrag anzeigen
      PHP-Code:
                      $sql "UPDATE 
                                      artikel 
                                  SET 
                                      titel = '"
      .$titel."', 
                                      subtitel = '"
      .$subtitel."', 
                                      "
      . (count($_FILES)?("subimage = '".$_FILES['datei']['name']."', ")). "
                                      meta_titel = '"
      .$meta_titel."', 
                                      meta_beschreibung = '"
      .$meta_beschreibung."', 
                                      meta_keywords = '"
      .$meta_keywords."', 
                                      text =  '"
      .$inhalt"' 
                                  WHERE  
                                      id = '"
      .$_GET['id']."' 

      Kommentar


      • #4
        Hab das schließende " vergessen da es auf ner neuen Zeile war. Habs oben editiert.
        Zitat von nikosch
        Macht doch alle was Ihr wollt mit Eurem Billigscheiß. Von mir aus sollen alle Eure Server abrauchen.

        Kommentar


        • #5
          hmmm "Parse error: syntax error, unexpected ')'

          Kommentar


          • #6
            PHP-Code:
             (count($_FILES)?("subimage = '".$_FILES['datei']['name']."', ")) 
            Hier fehlt die Alternative für den ternären Operator...

            (Bedingung) ? (wenn true) : (wenn false)
            Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

            Kommentar


            • #7
              Zitat von lstegelitz Beitrag anzeigen
              Hier fehlt die Alternative für den ternären Operator...
              War mir sicher, dass die nicht unbedingt nötig ist Hab mich wohl geirrt.
              Zitat von nikosch
              Macht doch alle was Ihr wollt mit Eurem Billigscheiß. Von mir aus sollen alle Eure Server abrauchen.

              Kommentar


              • #8
                Die original mysql-Erweiterung ist veraltet (mysql_*-Funktionen) und wird in den kommenden Versionen aus PHP entfernt. Aktuell wirft sie schon E_DEPRECATED-Fehler bei einer Verbindung zur Datenbank. Des Weiteren stehen dir sehr viele tolle Features von mysql mit diesen Funktionen nicht zur Verfügung! Weiterführende Links:
                Choosing an API
                Warum man mysql* generell nicht (mehr) nutzen sollte.
                Wie man von mysql* auf PDO umsteigt
                Wissenswertes zum Thema SQL-Injection
                Standards - Best Practices - AwesomePHP - Guideline für WebApps

                Kommentar


                • #9
                  Was würde es mich kosten wenn mir jemand den Code oben sauber und sicher und funktionsfähig macht?

                  Kommentar


                  • #10
                    so es geht hier weiter. Natürlich gegen bezahlung....

                    Kommentar

                    Lädt...
                    X