bildergalerie updaten klappt nicht

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

  • bildergalerie updaten klappt nicht

    hallo.

    Das sind meine ersten Gehversuche mit PHP.
    Habe ein Problem mit ner Aktualisierung eines Bildes per Upload.
    Ich habe ein Upload_formular, welches Bild und Titel des Bildes in eine MySQL TAbelle speichert und in einem Unterordner "files" die Bild speichert. Jetzt soll man nachträglich die upgeloadeten Bilder ändern können.
    NEben dem Bild ist ein Link "Ändern" welcher dir ID des Bildes an folgendes Script übergibt:
    PHP-Code:
    <?PHP 
    include ("db.php");
    $userfile="";
    $query "SELECT * FROM bildergalerie where id='$id'";
    $result mysql_query($query);
    while (
    $line mysql_fetch_array($result)) { 
    ?>
    <form method="post" action="aendern_dat2.php">
    <input type="hidden" name="id" value="<?=$line[id]?>">
    <input type="text" name="titel" value="<?=$line[titel]?>"><br>
    <input type="hidden" name="MAX_FILE_SIZE" value="2048000">
    File: <input type="file" name="userfile" ><br>
    <input type="submit" name="button" value=" OK ">
    </form>
    <?PHP
    }
    mysql_free_result($result);
    mysql_close();
    ?>
    Der Titel wird auch normal ausgelesen.

    Wenn man nun auf OK klickt wird aendern_dat2.php aufgerufen:
    PHP-Code:
    <?php 
    move_uploaded_file
    ($_FILES['userfile']['tmp_name'], "files/" $_FILES['userfile']['name'])
    ?>
    <?php
    include ("db.php"); 
    mysql_query("UPDATE bildergalerie SET titel='$titel', bild='$userfile_name' WHERE id='$id'");
    mysql_close();
    ?>
    <P>Successfully Sent: 
    <?php echo "$userfile_name"?> , 
    <?php echo "$userfile_size"?> byte file with the extension 
    type of <?php echo "$userfile_type"?> </P>
    Es wird aber kein Bild upgeloadet und in der untern Ausgabeinfo zu Name, usw. wird auch nichts ausgegeben. Der Titel wird erfolgrich geändert.

    Wo kann denn da der Fehler liegen.

    Konnte bislang keine Hilfe finden und bin langsam am verzweifeln.

    Danke für jegliche Hilfe

    Gruss

    Scope

  • #2
    kann es daran liegen, dass enctype fehlt ??

    PHP-Code:
    <form method="post" enctype="multipart/form-data" action="aendern_dat2.php"
    (-:
    Bookmarks:·Bilder·Jobs·Recht·
    kostenloser Webkataloge-Assistent

    Kommentar


    • #3
      bildergalerie updaten klappt nicht

      oh man.. ja, danke!

      Da habe ich die ganzen Zeit im PHP-Script wie blöde gesucht und dabei lag es am Formular. Ich Idiot.

      TAusend Dank!

      Scope

      Kommentar


      • #4
        und du solltest dich auf eine schreibweise festlegen ..
        entweder
        $_FILES['userfile'][...]
        oder
        $userfile_...

        wobei das erste i.d.R. vorzuziehen ist

        Kommentar


        • #5
          noch eine Frage ...

          Noch ne kleine Frage:

          Schreibe ein Newsscript: Wenn ich nun auf Beiträge ändern klicke. soll der aktuelle BEitrag im Formular angezeigt werden.
          Leider zeigt er mir dann aber immer auch noch die <br>´s an. Wollte das ganze mit ereg_replace beheben, geht aber nicht.

          PHP-Code:
          <?PHP 
          include ("db.php");
          $query "SELECT * FROM newstab where id='$id'";
          $result mysql_query($query);
          while (
          $line mysql_fetch_array($result)) { 
          $news ereg_replace('<br>''\n'$news);
          ?>
          <form method="post" action="aendern_dat.php">
          <input type="hidden" name="id" value="<?=$line[id]?>">
          <input type="text" name="titel" value="<?=$line[titel]?>"><br>
          <textarea name="news" cols="30" rows="10"><?=$line[news]?></textarea><br>
          <input type="submit" name="button" value=" OK ">
          </form>
          <?PHP
          }
          mysql_free_result($result);
          mysql_close();
          ?>
          B]Ausserdem [/B] habe ich Probleme bei der Ausgabe. Wenn im Formular ein TExt ohne Zeilenumbruch geschrieben wird, wird dieser auch immer in einer Zeile komplett ausgegeben. Jetzt will ich aber z.B. das meine News nur 300 Pixel breit sind.

          Hab da schon mit Tabellengrössen angaben und CSS herumprobiert, hat aber bis jetzt nicht funktioniert.
          Wie kann man das lösen???

          Danke

          Scope

          P.S.: Gibt es eigentlich einen Unterschied zw. " " und ' ' ???

          Kommentar


          • #6
            Wie fügst du denn Absätze in deine News ein ?
            Mit "Enter" oder mit <br> ? Falls du es mit <br> machen solltest , empfehle ich dir auf "Enter" uumzusteigen , und die Absätze mit der funktion nl2br() umzuwandeln.

            bsp:
            PHP-Code:
            <?php

            include ("db.php");

            $query "SELECT * FROM newstab where id='$id'";

            $result mysql_query($query);

            while (
            $line mysql_fetch_array($result)) { 

            $Beitrag nl2br($line['Beitrag'] );

            echo 
            $Beitrag;

            }

            ?>
            Und die ereg_replace codestelle kann so wie se da steht net funktionieren .


            PHP-Code:
            <?PHP 

            include ("db.php");

            $query "SELECT * FROM newstab where id='$id'";

            $result mysql_query($query);

            while (
            $line mysql_fetch_array($result)) { 
            $news $line['Beitrag'];
            $news ereg_replace('<br>''\n'$news);
            echo 
            $news;

            ?>

            <form method="post" action="aendern_dat.php">

            <input type="hidden" name="id" value="<?=$line[id]?>">

            <input type="text" name="titel" value="<?=$line[titel]?>"><br>

            <textarea name="news" cols="30" rows="10"><?=$line[news]?></textarea><br>

            <input type="submit" name="button" value=" OK ">

            </form>

            <?PHP

            }

            mysql_free_result($result);

            mysql_close();

            ?>
            Natürlich noch entsprechend Abändern-
            Zuletzt geändert von Diggicell; 24.11.2003, 14:54.
            "Alkohol ist keine Antwort, aber man vergisst beim Trinken die Frage."
            (Henry Mon)


            http://www.diggicell.de

            Nun auch mit neuen Inhalten

            Kommentar


            • #7
              Danke ... aber leider gibts noch Probleme...

              Im Formular werden Zeilenumbrüche mit "Enter" eingefügt und ich hatte sie auch mit nl2br umgesetzt.. nur das war ja nicht das Problem.
              Ich will ja eine feste grösse für die Newsfelder haben und der USer soll nicht immer am Ende des Formulars "Enter" drücken, damit die grösse stimmt. Ich muss den Text also irgendwie auf eine bestimmte Grösse zwingen.

              Zum ereg_replace:
              Komischerweise gibt er mit jetzt bei echo $news z.B.
              NEWS\n1\n2\n3v

              aus. Das sollte dann im Formular ja auch ohne \n auftauchen. Aber da gibt er mir NEWS<br>1<br>2<br>3 aus.

              Ich peil das nicht mehr???

              Kommentar


              • #8
                so, also, das Problem mit meiner Newsausgabe werd ich wohl mit
                <?php
                $neuertext = wordwrap( $tnews, 20 );
                $neuertext = ereg_replace("\n", "<br>", $neuertext);
                $neuertext = ereg_replace("\r", "", $neuertext);
                $neuertext = nl2br($neuertext);
                echo "$neuertext";
                ?>

                hinbekommen.

                Es geht vorran..juhuuuu

                Kommentar

                Lädt...
                X