+ Antworten
Seite 2 von 2 ErsteErste 1 2
Ergebnis 11 bis 18 von 18
  1. #11
    Erfahrener Benutzer Meilensteine
    Furien ist zur Zeit noch ein unbeschriebenes Blatt Avatar von Furien
    Registriert seit
    28.06.2008
    Ort
    Kuhkaff in Niedersachsen
    Beiträge
    246
    Blog-Einträge
    1
    Renommee-Modifikator
    0

    Standard

    Stiiiiiimmt..
    Totaler Denkfehler xD
    Danke!
    Müsste jetzt eigentlich alles abgehakt sein.
    mfg Furien

    PS: Man könnte aber theoretisch gucken, wieviele Datensätze es gibt und dann halt Autoincrement dementsprechend setzen.
    Und ist es schlimm, wenn ich die ID der Datensätze ausgebe ?=

    EDIT Hmm ich habe doch noch ein Problem.
    Und zwar funktioniert das mit dem [file][type] da nicht.
    Ich bekomme gar keinen Text, wenn ich versuche etwas hochzuladen.
    Hätte ich eine Fehlermeldung, also ein else, würde wohl das kommen.
    Code:

    PHP-Code:
    if (isset($_POST['sendfiles'])){ // Sofern auf hochladen geklickt wurde

            
    if(!empty($_FILES['datei']['tmp_name'])){  // Pruefen ob Datei angegeben wurde
        
                
    $uploaddir "tracks"//Verzeichnis in das die Dateien gespeichert werden sollen
        
                
    foreach($_FILES['datei']['name'] as $key => $value){
                
                    
    //  Dateigroesse pruefen => Datei darf nicht groesser als 100 000 Bytes sein (1024 byte = 1 kB)    
                    
    if ($_FILES['datei']['size'][$key] > && $_FILES["file"]["size"] < 100000){
                        
    // Dateityp = zip
                          
    if($_FILES["datei"]["type"] == "application/zip" ) {
                            
    // definiert wohin die Datei muss
                            
    $uploadfile $uploaddir."/".basename($_FILES['datei']['name'][$key]);

                            
    // Datei in angegebenes Verzeichnis verschieben
                             
    if (move_uploaded_file($_FILES['datei']['tmp_name'][$key], $uploadfile)){            
                                echo 
    "<p class='red'><strong><a href='trackmania_upload_ausgabe.php'>".$value ."</a></strong> wurde erfolgreich hochgeladen </p>"
    Danch kommt noch die MySQL Eintragung und dann die ganzen Klammern, hab ich jetzt aber weggelassen. Hat sich auch erledigt. ich hatte das [$key] vergessen..
    Geändert von Furien (20.07.2010 um 21:01 Uhr)

  2. #12
    HTML-Guru Meilensteine
    marlin-b ist zur Zeit noch ein unbeschriebenes Blatt
    Registriert seit
    17.01.2005
    Ort
    Münster
    Alter
    18
    Beiträge
    509
    Renommee-Modifikator
    0

    Standard

    PHP-Code:
    if($_FILES["datei"]["type"][$key] == "application/zip" 
    so sollte es heißen.

    ==>Download Opera 10<==
    ==>Download YouTube-Videos als mp3 Datei<==
    (Keine Software installation nötig!)

  3. #13
    Erfahrener Benutzer Meilensteine
    Furien ist zur Zeit noch ein unbeschriebenes Blatt Avatar von Furien
    Registriert seit
    28.06.2008
    Ort
    Kuhkaff in Niedersachsen
    Beiträge
    246
    Blog-Einträge
    1
    Renommee-Modifikator
    0

    Standard

    Hat sich auch erledigt. ich hatte das [$key] vergessen..
    .......trotzdem...danke
    Und ich habe nooch ne Frage ^^
    Wie kann ich den Namen der hochgeladenen Datei ändern? Also schon beim Upload? Hab
    schon alles probiert, funktioniert aber nicht.




    Jetzt habe ich noch ein Problem -.-
    Wenn man 2 Files nacheinnander hochgeladen hat, wird wenn man auf löschen klickt das falsche File gelöscht.
    Hab mir die ID nach dem löschen mal ausgeben lassen und tatsächlich die Falsche!
    Die ID wird ja in der Schleife in die Session eingetragen.
    Liegt da möglicherweise der Fehler?

    Okay ich hab jetzt verstanden, dass man die ID von dem File in der Session hat, das als letztes durch die Schleife ging.
    Aber wie kann ich es ändern, dass die drin ist, von der der Button gedrückt wurde =?
    Geändert von Furien (20.07.2010 um 22:36 Uhr)

  4. #14
    HTML-Guru Meilensteine
    mermshaus wird schon bald berühmt werden
    Registriert seit
    11.08.2009
    Beiträge
    1.512
    Renommee-Modifikator
    3

    Standard

    Falls du noch Hilfe suchst, wäre es glaube ich ganz gut, wenn du deinen aktuellen Code noch einmal komplett posten könntest. Sonst reden alle am Ende nur aneinander vorbei.

  5. #15
    Erfahrener Benutzer Meilensteine
    Furien ist zur Zeit noch ein unbeschriebenes Blatt Avatar von Furien
    Registriert seit
    28.06.2008
    Ort
    Kuhkaff in Niedersachsen
    Beiträge
    246
    Blog-Einträge
    1
    Renommee-Modifikator
    0

    Standard

    Okay ich erläutere mein Problem nochmal.
    In der Schleife wird ja jedem Eintrag, sofern die UserID des Users im Cookie
    stimmt ein löschen Button eingefügt.
    Das mit löschen klappt auch ganz gut, hat der User aber 2 Strecken
    nacheinander hochgeladen und will nun die erste löschen,
    wird die zweite gelöscht. Ich übergebe die ID nämlich per Session
    und in der Session steht dann natürlich die ID der Strecke, die als letztes
    durch die Schleife kam. Nun ist meine Frage: Wie kann ich OHNE get (zu unsicher)
    die ID der richtigen Strecke übermitteln?

    Hier die Codes:
    trackmania_upload_form.php:
    Code:
    <?php include 'head.php'; ?>
    <h1>Tracks hochladen und zum download freigeben</h1>
    <p class="red">Bitte ladet nur ZIP-Dateien hoch!</p>
    <table>
        <form method="post" action="trackmania_upload_verarbeitung.php" enctype="multipart/form-data">
            <tr>
                <td> Track Auswählen: </td>
                <td> <input name="datei[]" type="file" /> </td>
            </tr>
            <tr>
                <td> Ersteller Name: </td>
                <td> <input name="autorname" type="Input" /> </td>
            </tr>
            <tr>
                <td> E-Mail: </td>
                <td> <input name="email" type="Input" /> </td>
            </tr>
            <tr>
                <td> Trackname: </td>
                <td> <input name="trackname" type="Input" /> </td>
            </tr>
            <tr>
                <td> Zeit für Gold: </td>
                 <td> <input name="gold" type="Input" /> </td>
            </tr>
            <tr>
                <td> Beschreibung: </td>
                <td> <textarea name="beschreibung" style="height: 80px"></textarea>    </td>
            </tr>
        </table>
        <input style="float:right;" type="submit" name="sendfiles" value="Hochladen" class="button "/>
    </form>
    <?php include 'foot.php'; ?>
    
    trackmania_upload_verarbeitung.php:
    PHP-Code:
    <?php        
        
    include 'head.php';
        include 
    'sql.inc.php';
        
    // fehlermeldungen {
        
    if (isset($_POST['sendfiles'])) {    
            if(empty(
    $_FILES['datei']['tmp_name'])) die ("<p class='red'>Bitte wähle eine Datei aus.</p>"); 
            if (empty(
    $_POST['autorname'])) die ("<p class='red'>Bitte gebe deinen Namen an.</p>");
            if (empty(
    $_POST['email'])) die ("<p class='red'>Bitte gebe deine E-Mail Adresse ein.</p>");
            if (empty(
    $_POST['trackname'])) die ("<p class='red'>Bitte gebe den Namen der Strecke an.</p>");
            if (empty(
    $_POST['gold'])) die ("<p class='red'>Bitte gebe die Zahl für die Goldmedaille an.</p>");
            if (empty(
    $_POST['beschreibung'])) die ("<p class='red'>Bitte gebe eine Beschreibung zu der Strecke an.</p>");
        }
        
    // }
        
    if (isset($_POST["loeschen"])) {
                
    $id $_SESSION["id"];
                echo 
    $id;
                
    $pfad $_SESSION["pfad"];
                
    mysql_query("DELETE FROM tracks WHERE ID='$id' ;");
                if(
    unlink("tracks/".$pfad)) {
                echo 
    "<p class='red'><a href='trackmania_upload_ausgabe.php'>Zurück</a> Die Strecke wurde erfolgreich gelöscht.</p>";
                }            
                
    //echo '<meta http-equiv="refresh" content="3; URL=trackmania.php?q=alle_tracks&modus=geloescht">';            
        
    }
        if (isset(
    $_POST['sendfiles'])){ // Sofern auf hochladen geklickt wurde

            
    if(!empty($_FILES['datei']['tmp_name'])){  // Pruefen ob Datei angegeben wurde
        
                
    $uploaddir "tracks"//Verzeichnis in das die Dateien gespeichert werden sollen
        
                
    foreach($_FILES['datei']['name'] as $key => $value){
                
                    
    //  Dateigroesse pruefen => Datei darf nicht groesser als 100 000 Bytes sein (1024 byte = 1 kB)    
                    
    if ($_FILES['datei']['size'][$key] > && $_FILES["file"]["size"] < 100000){
                        
    // Dateityp = zip
                        
    if($_FILES["datei"]["type"][$key] == "application/zip" ) {
                            
    // definiert wohin die Datei muss
                            
    $uploadfile $uploaddir."/".basename($_FILES['datei']['name'][$key]);

                            
    // Datei in angegebenes Verzeichnis verschieben
                             
    if (move_uploaded_file($_FILES['datei']['tmp_name'][$key], $uploadfile)){            
                                echo 
    "<p class='red'><strong><a href='trackmania_upload_ausgabe.php'>".$value ."</a></strong> wurde erfolgreich hochgeladen </p>"

                                
    $autorname htmlspecialchars(mysql_real_escape_string($_POST['autorname'])); 
                                
    $trackname htmlspecialchars(mysql_real_escape_string($_POST['trackname']));
                                
    $gold htmlspecialchars(mysql_real_escape_string($_POST['gold']));
                                
    $beschreibung htmlspecialchars(mysql_real_escape_string($_POST['beschreibung']));
                                
    $email htmlspecialchars(mysql_real_escape_string($_POST['email']));
                                
    $userid htmlspecialchars(mysql_real_escape_string($_COOKIE['userid']));
                                
    $ip $_SERVER["REMOTE_ADDR"];  
                                  
                                
    mysql_query("
                                INSERT INTO `furien`.`tracks` (
                                `id` ,
                                `name` ,
                                `datum` ,
                                `gold` ,
                                `autor` ,
                                `beschreibung` ,
                                `pfad` ,
                                `email` ,
                                `userid` ,
                                `ip`
                                )
                                VALUES (
                                    NULL , '$trackname', now(), '$gold', '$autorname', '$beschreibung', '$value' , '$email' , '$userid' , '$ip'
                                );"
    ) or die(mysql_error());  
                            }
    //close verschieben
                        
                        
    }//close dateityp
                        
    else die("<p class='red'>Die Datei ist keine Zip-Datei!</p>");
                     }
    //close dateigrösse
                      
    else die("<p class='red'>Die Datei ist zu groß!</p>");
                }
    //close foreach
            
    }//close datei angegeben?
        
    }//close submit
            
        
    include 'foot.php';
    ?>
    Und zu guter Letzt:
    trackmania_upload_ausgabe.php:

    PHP-Code:
    <?php include 'head.php'?>
    <h1>alle hochgeladenen strecken</h1>
    <?php
        
    function convertdate($date) {
         
    $tmp explode(' '$date);
         
    $tmp_datum explode('-'$tmp[0]);
         
    $tmp_zeit explode(':'$tmp[1]);
         return 
    $tmp_datum[2] . '.' $tmp_datum[1] . '.' $tmp_datum[0] . ' ' $tmp_zeit[0] . ':' .$tmp_zeit[1];
         }
        include 
    'sql.inc.php';
        
    $abfrage="SELECT id, name, datum, gold, autor, beschreibung, pfad, email, userid FROM tracks ORDER BY (datum) DESC";
        
    $ergebnis=mysql_query($abfrage);
        echo 
    "<table>";
        echo 
    "<tr class='upper'><td>ID</td><td>Ersteller</td><td>Trackname</td><td>Goldmedaillenzeit</td><td>Beschreibung</td><td>Hochgeladen</td><td>Download</td></tr>";
        while(
    $row=mysql_fetch_object($ergebnis)) {
            echo 
    "<tr><td>".$row->id."</td><td>".$row->autor."</td><td>".$row->name."</td><td>".$row->gold."</td><td>".$row->beschreibung."</td><td>".convertdate($row->datum)."</td><td><a href='dl.php?track=".$row->pfad."'>Klick</a></td>";    
            if (
    $_COOKIE["userid"] == $row->userid) {
                
    $_SESSION['pfad'] = $row->pfad;
                
    $_SESSION['id'] = $row->id;
                echo 
    '<td><form method="post" action="trackmania_upload_verarbeitung.php"><input class="button" type="submit" name="loeschen" value="Löschen" class="button"/></form></td>';
            }
            echo 
    "</tr>";
        }
        echo 
    "</table>";
        include 
    'foot.php';
    ?>
    Wenn ihr wollt, könnt ihrs auch live testen:
    Furien Website

  6. #16
    Erfahrener Benutzer Meilensteine
    Furien ist zur Zeit noch ein unbeschriebenes Blatt Avatar von Furien
    Registriert seit
    28.06.2008
    Ort
    Kuhkaff in Niedersachsen
    Beiträge
    246
    Blog-Einträge
    1
    Renommee-Modifikator
    0

    Standard

    Kann mir echt keiner helfen ?

  7. #17
    HTML-Guru Meilensteine
    mermshaus wird schon bald berühmt werden
    Registriert seit
    11.08.2009
    Beiträge
    1.512
    Renommee-Modifikator
    3

    Standard

    Übergib die Werte nicht per Session, sondern per POST:

    PHP-Code:
        while($row=mysql_fetch_object($ergebnis)) {
            echo 
    "<tr><td>".$row->id."</td><td>".$row->autor."</td><td>".$row->name."</td><td>".$row->gold."</td><td>".$row->beschreibung."</td><td>".convertdate($row->datum)."</td><td><a href='dl.php?track=".$row->pfad."'>Klick</a></td>";
            if (
    $_COOKIE["userid"] == $row->userid) {
                
    /*$_SESSION['pfad'] = $row->pfad;
                $_SESSION['id'] = $row->id;*/
                
    echo '<td><form method="post"
                                action="trackmania_upload_verarbeitung.php">
                      <input type="hidden" name="pfad" value="' 
    .  htmlspecialchars($row->pfad) .'" />
                      <input type="hidden" name="id" value="' 
    .  htmlspecialchars($row->id) .'" />
                      <input class="button" type="submit" name="loeschen" value="Löschen" class="button"/>
                      </form></td>'
    ;
            }
            echo 
    "</tr>";
        } 

  8. #18
    Erfahrener Benutzer Meilensteine
    Furien ist zur Zeit noch ein unbeschriebenes Blatt Avatar von Furien
    Registriert seit
    28.06.2008
    Ort
    Kuhkaff in Niedersachsen
    Beiträge
    246
    Blog-Einträge
    1
    Renommee-Modifikator
    0

    Standard

    Daran hatte ich ehrlich gesagt auch schon gedacht, war mir aber nicht sicher,
    ob hidden Inputs dafür so konform sind
    Trotzdem danke!
    mfg furien

    Edit: Jepjep, hat perfekt geklappt
    Geändert von Furien (23.07.2010 um 14:15 Uhr)

+ Antworten
Seite 2 von 2 ErsteErste 1 2

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

     

Ähnliche Themen

  1. Ist das so sicher genug?
    Von Puccini im Forum PHP
    Antworten: 6
    Letzter Beitrag: 21.05.2009, 16:46
  2. PHP Dateiupload
    Von lucarp im Forum PHP
    Antworten: 1
    Letzter Beitrag: 01.09.2008, 19:46
  3. <form> Dateiupload und Text gemeinsam?
    Von thuemmy im Forum HTML und XHTML
    Antworten: 3
    Letzter Beitrag: 22.07.2008, 15:59
  4. Standardverzeichnis für Dateiupload
    Von csigg im Forum HTML und XHTML
    Antworten: 5
    Letzter Beitrag: 06.10.2007, 20:39
  5. Dateiupload
    Von Mario348 im Forum HTML und XHTML
    Antworten: 1
    Letzter Beitrag: 06.05.2007, 16:36

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein