Unieke waarde

  • Hallo,


    Ik heb in een tabel een ID staan.
    Deze moet worden omgezet in een unieke waarde. Dit doe ik nu gewoon met md5. Het liefst een kortere manier. Zoals bij youtube oid.


    Maar als ik dan dat Id weer opvraag op de pagina waar die heen wordt gestuurd kom ik uit op een heel ander ID dan die bij de vorige pagina. Hoe kan dit?


    Eerste pagina:

    PHP
    $download_id = md5($file['id']);


    Zo vraag ik hem op:

    PHP
    $query = mysql_query("SELECT * FROM files WHERE id = '".md5($_GET['id'])."'");



    Hoe kan dit ?..
    En is er een betere manier voor? Zoja welke?

  • Hallo Ismail,


    Ik heb zeg maar in me database het volgende:
    ID | Naam | Path


    Dan wordt het zo doorgestuurd naar download.php:

    PHP
    <?php if($user_info['pack_id'] > 3) {
    $download_id = md5($file['id']);
    echo "<a href='../../download.php?id=".$download_id."'><div class='icon icon-add' target='_blank'></div>Download link</a>";
    }
    ?>


    Vervolgens in download_picture.php wordt dat weer opgehaald.
    Dat gebeurd zo:

    PHP
    <?php
    $query = mysql_query("SELECT * FROM files WHERE id = '".md5($_GET['id'])."'");
    $list = mysql_fetch_array($query);
    ?>


    Maar het probleem is nu.
    ID 6 = test.png
    Dus op de link van test.png klik ik. Maar dan komt er in download.php Testing te staan (ID 7).


    De rest van de scripts is niet belangrijk bij dit probleem. Omdat er niet veel in staat.

  • Heb het inmiddels opgelost, nadat Bram zei dat het met een andere $_GET wordt.
    Heb nu een download_id aangemaakt in database. Deze wordt als er een bestand wordt geupload toegevoegd met een function:



    Bedankt! :thumbup:


  • Zoiets zoek jij denk, geef elk bestand een uniqid() en verwerk die in de url en roep die ook weer uit de DB, dan heb je een soort van youtube idee.


    http://php.net/manual/en/function.uniqid.php

Participate now!

Heb je nog geen account? Registreer je nu en word deel van onze community!