Upload + Link

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

  • Upload + Link

    Hi ich habe folgendes Uploadscript

    PHP-Code:
    <html><head>
    <title>Database Upload</title>
    <style type="text/css">
    .table_text {color: #000000; font-family: Verdana; font-size: 12px;}
    .table_alert {color: #cc0000; font-family: Verdana; font-size: 10px;}
    .textfield {background-color: #ffffff; border-bottom: 2px #999999 solid; border-left: 1px #cccccc solid; border-top: 1px #cccccc solid;
    border-right: 2px #999999 solid; font-family: Verdana; font-size: 10px; color: #333333;}
    </style>
    </head><body>
    <div align="center">
    <?php
    if($_POST['sent'])
        {
        if(!
    is_uploaded_file($_FILES['neuedatei']['tmp_name']))
            {
            
    $fehler="Es wurde keine Datei hochgeladen.<br>";
            }
        else
            {
            if(
    $_FILES['neuedatei']['size']>1000000)
                {
                
    $fehler.="Die Daetei ist zu groß.<br>";
                }
            if(!(
    $_FILES['neuedatei']['type'] == 'image/jpeg' OR $_FILES['neuedatei']['type'] == 'image/gif'))
                {
                
    $fehler.="Der Dateityp ist nicht zul&auml;ssig!<br>";
                }
            }
    // Ende ELSE; keine Datei hochgeladen
        
    if(!$fehler)
            {
            include(
    'connect.php');
            
    $datei=fopen($_FILES['neuedatei']['tmp_name'], 'rb');
            
    $data=addslashes(fread$datei$_FILES['neuedatei']['size']));
            
    $sql="INSERT INTO ".$tabellenname." (name, linktext, beschreibung, kategorie, dateityp,
            datum, zeit, datei) values ('"
    .$_POST['name']."', '".$_POST['linktext']."', 
            '"
    .$_POST['beschreibung']."', '".$_POST['kategorie']."', '".$_FILES['neuedatei']['type']."',
            now(), now(), '"
    .$data."')";
            if(!
    mysql_query($sql$link))
                {
                
    $fehler.="Der Upload ist aufgrund eines Datenbankfehlers gescheitert. Bitte
                versuchen Sie es sp&auml;ter noch einmal.<br>"
    ;
                }
            }
        if(
    $fehler)
            {
            echo 
    "<div class=table_alert>".$fehler."</div><br>";
            }
        else
            {
            echo 
    "<div class=table_alert>Der Upload wurde erfolreich durchgeführt.</div><br>";
            
    header("refresh:3;url=#");
            unset(
    $_POST['name']);
            unset(
    $_POST['linktext']);
            unset(
    $_POST['beschreibung']);
            unset(
    $_POST['kategorie']);
            }
        }
    //Ende $_POST['sent']
    ?>
    <form action="<? echo $_SERVER['PHP_SELF']; ?>" method="post" enctype="multipart/form-data">
    <input type="hidden" name="sent" value="1">
    <div class="table_text"><strong>Ihr Name:</strong> <br>
    <input name="name" type="text" class="textfield" value="<?php echo $_POST['name']; ?>" size="30">
    </div>
    <div class="table_text"><strong>Linkname:</strong><br>
    <input name="linktext" type="text" class="textfield" value="<? echo $_POST['linktext']; ?>" size="30">
    <br>
    </div>
    <div class="table_text"><strong>Kurzer Beschreibung:</strong><br>
      <textarea name="beschreibung" cols="30" rows="4" class="textfield"><? echo $_POST['beschreibung']; ?></textarea>
      <br></div>
    <div class="table_text"><strong>Kategorie:</strong><br>
    <select name="kategorie" class="textfield">
    <option>Fun
    <option>Menschen
    <option>Sonstiges
    <option>Logos
    <option>Comics
    </select></div>
    <div class="table_text"><strong>Datei:</strong><br>
    <input name="neuedatei" type="file" class="textfield" size="30">
    </div>
    <br>
    <input type="submit" class="textfield" value="Upload!">
    &nbsp;&nbsp;<input type="reset" class="textfield" value="xXx Daten löschen!">
    </form>
    </div>
    </body></html>
    Wie kann ich es machen, dass der User, der gerade ein Bild hochgeladen hat, gleich zu der seite weitergeleitet wird, auf der sein bild zu sehen ist?

    Viele Grüße, Berti

  • #2
    ausnahmsweiße mal falsches forum ^^ das gehört ins PHP Forum.
    Sunshine CMS
    BannerAdManagement
    Borlabs - because we make IT easier
    Formulargenerator [color=red]Neu![/color]
    Herkunftsstatistik [color=red]Neu![/color]

    Kommentar


    • #3
      Habe ich gerade gemerkt, sorry

      Kommentar


      • #4
        Hi,

        du magst dich mit dem http-statuscode 201 beschäftigen und
        dann auf der phpreferenz einige beispiele zur benutzung
        der header()-funktion anschauen.
        Besonders interessant sind die in denen es um "Location" geht.


        greets
        (((call/cc call/cc) (lambda (x) x)) "Scheme just rocks! and Ruby is magic!")

        Kommentar


        • #5
          Sry aber ich bin ein newbe, kann ich den letzten eintrag nochmal so haben, dass ich ihn verstehe? gibts irgendwelche seiten, auf denen ich das lernen kann? oder ein buch?

          Kommentar


          • #6
            Code umbrechen, siehe sticky Thread

            Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

            bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
            Wie man Fragen richtig stellt

            Kommentar


            • #7
              und dann lies auch bitte das hier, denn du mußt deinen code dann umschreiben.

              gruß
              peter
              Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
              Meine Seite

              Kommentar


              • #8
                Okay, aber was hilft mir das jetzt weiter`?

                Kommentar


                • #9
                  Original geschrieben von berti@SR
                  Okay, aber was hilft mir das jetzt weiter`?
                  Das eine ist eine Regel, als Vorraussetzung, dass wir dir noch Antworten
                  Das andere ist zu 99% die Lösung deines Problems


                  Man ey, die Ignoranz in diesem Forum ist manchmal echt unglaublich

                  Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

                  bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
                  Wie man Fragen richtig stellt

                  Kommentar


                  • #10
                    ganz einfach du musst deinen php-code ganz nach oben stellen, über jegliches html. und entscheidend ist dann das hier:
                    PHP-Code:
                    else
                    {
                        
                    // Das echo muss raus
                        
                    echo "<div class=table_alert>Der Upload wurde erfolreich durchgeführt.</div><br>";
                       
                    // erst $_POST löschen
                       
                    unset($_POST['name']);
                       unset(
                    $_POST['linktext']);
                       unset(
                    $_POST['beschreibung']);
                       unset(
                    $_POST['kategorie']);
                       
                    // dann auf seite xy weiterleiten
                       
                    header("Location: xy.php");

                    EDIT:
                    die unset befehle sind natürlich blödsinn, da die werte bei der weiterleitung eh flöten gehen

                    gruß
                    peter
                    Zuletzt geändert von Kropff; 21.04.2006, 14:02.
                    Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
                    Meine Seite

                    Kommentar


                    • #11
                      unter header() würde sich ein die() mit Sicherheit vermehrter Beliebtheit erfreuen ^^,

                      Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

                      bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
                      Wie man Fragen richtig stellt

                      Kommentar


                      • #12
                        Ok, danke soweit bin ich jetzt schonmal. Nachdem die Bilder hochgeladen wurden wird man jetzt auf gespeichert.php weitergeleitet, wie kann ich dort nun das bild ausgeben lassen? gut wäre ein link, auf dem beschrieben ist, wie ich das mache, damit ich es richtig lernen kann.

                        Kommentar


                        • #13
                          www.php.net (!)
                          www.schattenbaum.net
                          www.php-faq.de
                          http://tut.php-q.net

                          das sind die ausführlichsten quellen, die ich kenne.

                          Kommentar


                          • #14
                            schau dir mal mysql_insert_id an, die kannst du dann als parameter an die url bei header (...) dranhängen und dann dort mit $_GET[...] auswerten

                            gruß
                            peter
                            Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
                            Meine Seite

                            Kommentar

                            Lädt...
                            X