Visualizzazione risultati 1 fino 9 di 9

Discussione: Dividere codice random

  1. #1
    Guest

    Predefinito Dividere codice random

    ragazzi una domanda:

    non posso mettere la prima parte del codice in una pagina php

    e la seconda parte( quella che richiama la voce random) in un'altra pagina, anche html?

    o deve per forza stare tutto nella stessa pagina?

    lo chiedo perchè siccome ho tante cose random da caricare, non volevo sovraccaricare la pagina principale con informazioni del tutto inutili, e richiamare solo quella effettivamente necessaria.

    data la esperienza nulla col php, potrei anche aver detto una stronzata colossale, in questo caso vi prego di perdonarmi ^^

    EDIT:

    ciao ragazzi io vorrei creare un codice php che alla pressione di un bottone mi visualizza una frase, scelta a caso da un insieme di frasi.

    in questo forum ho trovato questo codice: che riporto anche qui sotto

    Codice PHP:
    <?php

    $array
    [] = '1a frase a caso';
    $array[] = '2a frase a caso';
    $array[] = '3a frase a caso, ecc...';
    $casuale = rand(0, count($array)-1);

    ?>

    <?php echo $array[$casuale]; ?>
    nel topic cera scritto di creare un'unica pagina php e inserire questo codice.

    Il codice funziona perfettamente, ma la mia domanda è questa:
    posso dividere il codice in 2 parti?
    ossia la prima parte (quella che contiene le frasi) in una pagina php
    e la seconda parte(quella che richiama una delle frasi a caso) in un'altra pagina, magari anche con estensione html...

    ve lo chiedo perchè avendo necessità di inserire centinaia di frasi, non vorrei sovraccaricare la pagina principale con informazioni del tutto inutili, visto che lo script prenderà solo una frase tra le centinaia.

    si può fare?


    p.s.
    se vi chiedo queste informazioni in un nuovo topic, anziché quello gia aperto. è perchè è un topic molto vecchio e mi hanno impedito di postare li..

    grazie a tutti
    Ultima modifica di alemoppo : 18-07-2011 alle ore 13.08.27 Motivo: EDIT

  2. #2
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,762

    Predefinito

    Se il codice è PHP, puoi tranquillamente caricarlo tutto; se invece è html/css/js è bene che sia meno possibile, perché deve essere scaricato dall'utente.

    Se spieghi meglio, possiamo anche aiutarti.

    Ciao!

    EDIT:

    posso dividere il codice in 2 parti?
    ossia la prima parte (quella che contiene le frasi) in una pagina php
    Renderesti il tutto più pesante.

    Secondo me per un centinaio di stringhe, va bene anche quel modo.
    Altrimenti, la soluzione migliore è usare un database (mysql o sqlite).
    {per un centinaio di record, sqlite è più che sufficiente}.

    Ciao!
    Ultima modifica di alemoppo : 18-07-2011 alle ore 13.11.45

  3. #3
    Guest

    Predefinito

    hai presente il biscotto della fortuna? che tu premi un tasto e ti esce una frase a caso?
    oppure i baci perugina.
    facciamo finta che creo un bottone con su scritto, "apri bacio perugina" quando clicco li mi esce una frase a caso, tra centinaia di frasi inserite.

    ecco è questa cosa che vorrei fare...
    però non volevo sovraccaricare l'utente facendogli scaricare "inutilmente" le centinaia di frasi che inserirò...

  4. #4
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,762

    Predefinito

    No, lo script PHP non viene scaricato dall'utente; l'utente scarica soltanto il contenuto dell'echo!
    Infatti PHP viene eseguito lato server. Il problema si incontrava se invece di PHP, usavi javascript (che viene eseguito lato client)...

    Nel tuo script sopra, prova a guardare il sorgente della pagina: non vedrai le altre stringhe, ma soltanto quella "estratta"

    Ciao!
    Ultima modifica di alemoppo : 18-07-2011 alle ore 13.14.13

  5. #5
    Guest

    Predefinito

    ah allora perfetto!
    un ultima cosa, potresti spiegarmi come faccio a creare il bottone, che ogni volta premuto, mi sceglie una frase a caso?

  6. #6
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,762

    Predefinito

    Su due piedi mi vengono in mente soltanto 2 soluzioni:

    La prima, più elegante, è quella di interrogare tramite ajax {via javascript, ovviamente}, la pagina php e quindi ricavarsi una stringa random.

    La seconda, forse la più facile, è quella di effettuare un semplice refresh della pagina. È sufficiente, ad esempio, anche un semplice link alla pagina stessa...

    Ciao!

  7. #7
    Guest

    Predefinito

    grazie 1000 alemoppo

    credo opterò per la 2a data la mia scarsissima preparazione ^^

    stasera proverò che ora devo andare al lavoro

    EDIT:

    per problemi di integrazione con facebook sono costretto ad usare codice javascript anziché php. ho trovato questo:

    <script language="javascript">
    <!--
    var frasi=new Array();

    frasi[0]= "1a frase";
    frasi[1]= "2a frase";
    frasi[2]= "3a frase";

    var index=Math.floor(Math.random()*frasi.length);
    document.write(frasi[index]);
    </script>

    <br><br>
    <a href="javascript:location.reload(true)">Refresh this page</a>
    ma ho 2 domande da fare:

    1) è possibile modificare il codice per far si che capisca da solo il numero max di frasi, senza che quindi incremento ad ogni nuova frase il numero? praticamente come fa il codice php postato sopra, quello lo capiva da solo quante frasi erano. sembra una stronzata ma inserendo centinaia di frasi diventa tedioso...

    2) è possibile inserire il bottone "condividi su facebook", e associare la frase uscita al tasto? ad es un utente clicca diverse volte il bottone per cambiare frase, quando trova quella di suo gradimento preme su "condividi su facebook" e viene postata la frase da lui scelta sulla sua bacheca di facebook.
    Ultima modifica di alemoppo : 19-07-2011 alle ore 02.30.17 Motivo: Non fare doppi post: usa il tasto edita per editare i messaggi!

  8. #8
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,762

    Predefinito

    Non conosco (e non ho mai usato) alcuna integrazione con facebook; quindi non ti posso aiutare.

    Per quanto riguarda il popolamento dell'array, puoi fare così:

    Codice:
    var i=0;
    frasi[i++]= "1a frase"; 
    frasi[i++]= "2a frase"; 
    frasi[i++]= "3a frase";
    Però, a questo punto, non saprei se ti convenga usare questo modo (visto che hai centinaia di frasi, e te ne serve soltanto una).

    Non capisco perché non puoi usare PHP; comunque, in questo caso non è più necessario aggiornare la pagina; puoi ad esempio cambiare il contenuto di un elemento html in questo modo:

    Codice HTML:
    <script language='javascript'>
    var frasi=new Array(); 
    var i=0;
    frasi[i++]= "1a frase"; 
    frasi[i++]= "2a frase"; 
    frasi[i++]= "3a frase"; 
    function nuova_frase()
    {
         document.getElementById('id_elemento').innerHTML = frasi[Math.floor(Math.random()*i)];
         return false;
    }
    </script>
    <span id='id_elemento'></span>
    <a onclick='nuova_frase()' href='#'>Aggiorna questa pagina</a>
    Altrimenti, potresti fare una richiesta con ajax usando jQuery:

    Codice HTML:
    <script src='http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js'></script>
    <script>
    function nuova_frase()
    {
         $('#id_elemento').html('Caricamento...');
         $.ajax(
         {
             url: 'pagina.php',
             success: function(data)
             {
                $('#id_elemento').html(data);
             }
        });
    }
    </script>
    <span id='id_elemento'></span>
    <a onclick='nuova_frase(); return false;' href='#'>Aggiorna questa pagina</a>
    Quest'ultimo va a interrogare ogni volta la pagina "pagina.php", che dovrebbe essere come quella che hai scritto all'inizio del topic:

    Codice PHP:
    <?php

    $array
    [] = '1a frase a caso';
    $array[] = '2a frase a caso';
    $array[] = '3a frase a caso, ecc...';
    $casuale = rand(0, count($array)-1);

    ?>

    <?php echo $array[$casuale]; ?>
    Ciao!
    Ultima modifica di alemoppo : 19-07-2011 alle ore 02.34.46

  9. #9
    Guest

    Predefinito

    alemoppo intanto grazie per il supporto.
    però in questo modo non mi funziona data anche l'integrazione con facebook.

    l'unico modo per farlo funzionare è refreshare la pagina, tu invece mi hai messo il codice per cambiare il contenuto di un elemento html.

    potresti indicarmi il codice da usare per avere le frasi random senza incrementare manualmente il numero, ma con la possibilità di refreshare la pagina senza cambiare il contenuto di un elemento html?

    poi un'ultima richiesta: esiste un modo per assegnare a questo metatag
    <meta name="description" content="DESCRIZIONE DELLA PAGINA" />
    il risultato della frase casuale che si genera ad ogni clic?



    edit:
    ho trovato la soluzione usando un altro codice
    grazie!
    Ultima modifica di Johell : 19-07-2011 alle ore 11.10.30

Regole di scrittura

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