Visualizzazione risultati 1 fino 9 di 9

Discussione: [PHP]Modificare l'indirizzo

  1. #1
    Guest

    Predefinito [PHP]Modificare l'indirizzo

    Ciao a tutti, vi spiego il mio problema ho una tabella con alcuni utenti registrati.
    Per vedere il profilo degli utenti utilizzo una pagina del tipo esempio
    pagina.php?id=1454
    Io vorrei creare un url specifico per ogni utente del tipo
    miosito.org/fox
    Ciò fox dovrebbe corrispondere all'utente con id 1454

    Mi saprete spiegare come potrei fare?

  2. #2
    Guest

  3. #3
    Guest

    Predefinito

    Ti ringrazio di aver risposto ma ci sono alcune cose che non capisco.

    Codice PHP:
    RewriteEngine On
    RewriteRule
    ^([^/]+)\$ pagina.php?id=$1
    Per il codice php in che pagina lo devo mettere in pagina.php
    Codice PHP:
    $id = $_GET["id"]
    $user = mysql_query("SELECT id,code FROM user WHERE id='$id'");
    if(
    mysql_num_rows($user)!=0){
    $user = mysql_fetch_array($user);
    $user["code"];//recupero il code che identifica l'user e poi
    }
    Ultima modifica di hotmailpower : 25-07-2012 alle ore 13.01.00

  4. #4
    Guest

    Predefinito

    Citazione Originalmente inviato da hotmailpower Visualizza messaggio
    Ti ringrazio di aver risposto ma ci sono alcune cose che non capisco.

    Codice PHP:
    RewriteEngine On
    RewriteRule
    ^([^/]+)\$ pagina.php?id=$1
    Per il codice php in che pagina lo devo mettere in pagina.php
    Codice PHP:
    $id = $_GET["id"]
    $user = mysql_query("SELECT id,cod FROM user WHERE id='$id'");
    if(
    mysql_num_rows($user)==0){
    Make404();
    }else{
    $user = mysql_num_rows($user);
    $user["code"];//recupero il code che identifica l'user e poi
    }


    Per vedere il profilo degli utenti utilizzo una pagina del tipo esempio
    pagina.php?id=1454

    Giusto? Allora, il codice mod_rewrite sarà...

    Codice PHP:
    RewriteEngine On
    RewriteRule
    ^([^/]+)/([^/]+).html \$ pagina.php?id=$1&username=$2
    Quindi una pagina del tipo...
    /1234/carlo.html
    sarà interpretata come
    /?id=1234&username=carlo

    Chiaro? :)

  5. #5
    Guest

    Predefinito

    Non mi serve questo, del link che mi hai inviato leggi il punto "2.3- Associazioni tra ID e stringhe"

  6. #6
    L'avatar di javascripter
    javascripter non è connesso Moderatore
    Data registrazione
    14-02-2010
    Messaggi
    1,114

    Predefinito

    Quello che vuoi fare è alquanto contorto.
    Se ad ogni singolo utente corrisponde un id univoco, tutto questo non ha senso.

    Fai un url_rewrite del tipo:
    Codice:
    RewriteEngine On
    RewriteBase /
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(\d+)$ pagina.php?username=$1
    e utilizzi l'username, senza fare tanti giri.

    Se vuoi comunque andare avanti secondo il tuo metodo: recupera l'id dell'utente tramite una query (SELECT id FROM tabella WHERE username = nome preso dall'url).

  7. #7
    Guest

    Predefinito

    Ti ringrazio non ci avevo pensato, però volevo capire come funzionava quel metodo... xD

    Ho fatto cosi:
    Codice PHP:
    RewriteEngine On
    RewriteBase
    /
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond
    %{REQUEST_FILENAME} !-d
    RewriteRule
    ^([0-9]+)$ pagina.php?id=$1
    RewriteRule
    ^([a-z0-9\.]+)$ pagina.php?name=$1
    Però ho 2 problemi:
    1)Vorrei che quando scrivo tipo FOX grande mi riporti alla pagina fox in minuscolo.
    2)Se metto solo numeri mi dovrebbe riportare alla pagina con identificazione del utente id = 1 = fox come potrei fare?

  8. #8
    L'avatar di javascripter
    javascripter non è connesso Moderatore
    Data registrazione
    14-02-2010
    Messaggi
    1,114

    Predefinito

    Devi fare tutto attraverso php, oltre ad impostare l'url rewrite. Comincia ad impostare qualcosa in pagina.php, se non ci riesci posta quello che hai fatto ;)

  9. #9
    Guest

    Predefinito

    Codice PHP:
    RewriteEngine On
    RewriteBase
    /
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond
    %{REQUEST_FILENAME} !-d
    RewriteRule
    ^([0-9]+)$ pagina.php?id=$1//riga 5
    RewriteRule ^([a-z0-9.]+)$ pagina.php?name=$1//riga 6

    if((isset($_GET["id"])) AND ($_GET["id"] > "0") AND (is_numeric($_GET["id"]))){
    $id = $_GET["id"];
    $profile = mysql_query("SELECT * FROM user WHERE (id = '$id')");
    if(
    mysql_num_rows($profile) != "0"){
    $profile2 = mysql_fetch_array($profile);
    $username = $profile2["username"];
    }}
    Mi sono accorto che la 5 e la 6 riga vanno in contrasto, non so come risolvere...

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •