• User Attivo

    Ad ogni pagina un numero

    Salve ragazzi io dovrei assegnare ad ogni pagina creata tramite fwrite un numero diciamo un id

    es:

    pagina 1:

    $id="1";

    avevo pensato di usare il nome utnete ma non mi convince l'idea,,,,


  • Super User

    Se ti serve un id univoco...
    Potresti usare una chiamata a time()...
    Oppure usare la funzione di php uniqid()...
    Oppure ancora, se la vuoi fare pulita, contare il numero dei file presenti nella cartella ( suppongo usi una cartella a parte per queste "pagine" ), e salvare ogni file con il suddetto numero. ( Ad ogni pagina salvata, il numero della pagina successiva sarà automaticamente maggiore di un numero rispetto a quello precedente ( ricorda, in php i numeri iniziano da 0 ) ).

    Non so che applicazione utilizzi, ma di solito si utilizza il database per immagazinare questo tipo di roba, vedi se fa al caso tuo! ciao!


  • User Attivo

    Più o meno, mi spiego meglio allora io creo una pagina per ogni utente, in questa pagina vi sono delle query ora io dovrei fare un where per prelevare i dati specifici di ogni utente...es:
    [php]
    <?php
    $id = "10";

    include("conessione.php");

    $query = mysql_query(select * from dati where id='".$id."');

    ....
    ?>
    [/php]

    Capito? avevo epnsato di farlo con il $_session ma varia da persona a persona e poi le persone non registrate non potrebbero vedere la pagina...


  • User

    Se il tuo obiettivo è quello di rendere navigabile a chiunque una pagina che mostra le informazioni di un dato utente, direi che devi semplicemente farti passare l'id utente via query-string e con esso effettuare la richiesta in sql al dbms per prelevare i dati che ti interessa voler poi visualizzare.


  • User Attivo

    Certo, ma cosi le pagine non potrebbero essere visualizzabili dall'esterno (utenti non registrati) oppure dai mototri di ricerca

    P.S. nel broswer l'URL sarà qualcosa del genere

    miosito.org/nickutente/index.php

    potrei prelevare il nick dall'url ma non credo si possibile...


  • User

    Invece no: possono e come essere navigate sia dagli user non registrati che dagli spiderbot, non vedo quale sia il problema in tal senso :mmm:

    Per quanto riguarda la questione dell'url è fattibile anche quella tramite la tecnica denominata url rewriting che ti consente di riscrivere gli indirizzi di modo da renderli statici, mentre in realtà un file in .htaccess preleva le informazioni da tale url e le spedisce ad una pagina dinamica per ottenere il responso.


  • User Attivo

    Scusa ma come fà a sapere da dove deve prendere i dati? ammenttiamo che io ora metto qui un link ora una volta che tu arrivi alla pagina il where come lo riempio? se poi faccio un link con post o get quella è un altra cosa, ma il where come lo devo riempire?


  • User

    Se hai degli utenti registrati che possono comporre un loro profilo inserendo informazioni, suppongo che tu abbia delle pagine in cui essi possono interagire.

    Per ogni utente puoi mettere un classico link ipertestuale nel nick così da puntare ad una pagina a cui spedisci via GET l'id dell'utente.

    Questa pagina si apre e mostra le informazioni sul suo profilo.

    Seguendo la logica di questo discorso, sia utenti non registrati che eventuali spiderbot seguono i link e visionano/indicizzano i contenuti.


  • User Attivo

    Si, questo lo capito ma se uno ci arriva tramite URL come fa?


  • User Attivo

    Si, a questo ci ero arrivato ma se uno non ci arriva tramite il mio sito ma tramite URL (quindi senza link con il get...)? cioè scrivendo direttamnte nella barra degl indirizzi ww.miosito.org/nick


  • User

    Facciamo un esempio, perchè temo che tu non abbia ben chiaro il passaggio di dati tramite GET.

    Poniamo il caso di aprire il seguente url: miosito.it/user.php?utente=222

    e che la pagina di user.php sia la seguente
    [PHP]<?php
    /* un probabile modulo che si occupa di gestire le connessioni al database */
    require 'db.php';

    /* attraverso l'array superglobale $_GET, preleviamo il dato passato via URL nella query string */
    $id = (int)$_GET['utente']; # nel caso della url di esempio, id conterrà 222

    /* A questo punto hai tutto ciò che ti occorre per formulare la query Sql */
    $sql = mysql_query("SELECT * FROM users_table WHERE id = '$id'");
    $row = mysql_fetch_assoc($sql);

    echo "Stai visitando il profilo di ", $row['username'];
    ?>[/PHP]

    Una pagina simile è raggiungibile e visionabile da chiunque, inizialmente solo attraverso i collegamenti interni sul tuo sito, ma dopo che gli spider avranno indicizzato tutto sarà possibile raggiungere le schede degli utenti anche attraverso motori di ricerca.


  • User Attivo

    :arrabbiato: Fino e qui ci sono arrivato ma se io volessi fare qualcosa del tipo twitter?
    Cioè il link al posto di essere miosito.it/user.php?utente=222 potrebbe essere miosito.it/user/index.php (creo una cartella per ogni utente con all'interno la pagina index.php che è raggiungibile con miostio.it/user ) questo è quello che voglio dire...

    Es questa è la pagina di un utnete a caso di twitter h**p://twitter.com/MarkCN questo è quello che voglio raggiungere io 😄 perchè con il get lo sapevo fare...;)


  • ModSenior

    Quel tipo di url passa sempre le variabili in GET ma utilizza il mod_rewrite passando il nome utente invece dell'id.
    Questa discussione ti può essere utile.


  • User Attivo

    Ametto che non capisco niente di httacess ma da quello che ho capito e che devo usare questa stringha per ogni pagina

    [php]
    RewriteEngine On
    RewriteRule ^([^/]+).html$ index.php?nick=$_SESSION['user']
    [/php]

    giusto oppure devo fare cosi:

    [php]
    RewriteEngine On
    RewriteRule ^([^/]+).html$ index.php?nick=$utente1
    RewriteRule ^([^/]+).html$ index.php?nick=$utente2
    .....
    [/php]

    e poi dove lo devo scrivere nel httaccess o devo creare un file httacces a parte?


  • Super User

    [php]
    RewriteRule ^([^/]+).html$ index.php?nick=$1
    [/php]
    Questa rule porta ad un effetto di questo tipo. Digiti:
    ww-w.miosito.it/caccapupu.html

    Il server gestisce la richiesta come:
    ww-w.miosito.it/index.php?nick=caccapupu

    Ti consiglio comunque di gestire meglio la cosa comunque... Magari modificando la rule in:

    [php]
    RewriteRule ^utente_([^/]+).html$ gestisci_utente.php?nick=$1
    [/php]

    Per differenziale i contenuti che filtri con le rules... anche perchè con una rule del primo tipo, non potresti più gestire le pagine html, perchè ogni pagina html che richiedi al server verrà trattata come index.php?etc etc... Non so se mi segui...