Visualizzazione risultati 1 fino 6 di 6

Discussione: Estrazione dati: si blocca il browser

  1. #1
    L'avatar di s7ntech
    s7ntech non è connesso AlterVistiano
    Data registrazione
    26-09-2004
    Messaggi
    758

    Predefinito Estrazione dati: si blocca il browser

    Ciao raga, ho un problema con questo codice, arriva al punto di bloccarmi il browser, in fondo ho spiegato il suo funzionamento:
    Citazione Originalmente inviato da codice interessato
    <?php /*******************Giochi************************* **/
    if($_GET['gio'] == 'gio'){
    while ($array = mysql_fetch_array($sql_gen)){
    print '<table border="1"><tr><td>
    <a href="index.php?gen='.$array['genere'].'">'.$array['genere'].'</a><br>';
    print '</td></tr></table>';


    }
    }
    /********************-Giochi-*************************/ ?>
    <?php /**************Multiplayer************************* ***/
    if ($_GET['gen'] == 'Multiplayer'){

    $i = 0;
    while ($i < mysql_num_rows ($lista_tabelle)){
    $tabella[$i] = mysql_tablename ($lista_tabelle, $i);
    $exp = explode("_",$tabella[$i]);
    if ($exp[1] == 'multi'){

    print '<a href="index.php?gen='.$exp[0].'_'.$exp[1].'_'.$exp[2].'">'.$exp[2].'</a><br>';

    }
    $i++;
    }
    }
    /******************-Multiplayer-************************/ ?>
    <?php /*****************Singleplayer*******************/
    if ($_GET['gen'] == 'Singleplayer'){
    $i = 0;
    while ($i < mysql_num_rows ($lista_tabelle)){
    $tabella[$i] = mysql_tablename ($lista_tabelle, $i);
    $exp = explode("_",$tabella[$i]);
    if ($exp[1] == 'single'){
    print '<a href="index.php?gen='.$exp[0].'_'.$exp[1].'_'.$exp[2].'">'.$exp[2].'</a><br>';
    }
    $i++;
    }
    }
    /*****************-Singleplayer-********************/ ?>
    </td>
    <td width="400" height="300">
    <? /*********************Estrazione dati*******************************/

    for ($i=0;$i < mysql_num_rows ($lista_tabelle);$i++){
    $tabella[$i] = mysql_tablename ($lista_tabelle, $i);
    //$exp = explode("_",$tabella[$i]);

    if ($_GET['gen'] == $tabella[$i]){
    $get = $_GET['gen'];
    $tabel = mysql_query("SELECT id,nome,descrizione,dimensione,download FROM ".$get."");

    while ($tab = mysql_fetch_assoc($tabel)){

    $nome=$tab['nome'];
    $nom = "".$nome."";

    $i=$tab['id'];
    $id = "".$i."";

    $des =$tab['descrizione'];
    $desc[] = "".$des."";

    $di=$tab['dimensione'];
    $dim[] = "".$di."";

    $down=$tab['download'];
    $dow[] = "".$down."";

    print '<table border="1">
    <tr><td>'.$nome.'
    <td width="50">'.$di.'</td>
    </td></tr>
    <tr><td width="200" height="35">'.$des.'
    <td width="50">'.$down.'</td>
    </td></tr>
    </table>';
    }


    }
    }



    /*****************-Estrazione dati-***********************************/ ?>
    Sezione Giochi:
    -Se il valore che gli arriva attraverso il $_GET['gio'] è uguale a gio estrae i dati dalla tabella e gli visualizza a video

    Sezione Multiplayer:
    -Se il valore che gli arriva attraverso il $_GET['gen'] è uguale a Multiplayer estrae dalla variabile $lista_tabelle il nome delle tabelle che hanno la parte di nome uguale a multi e le visualizza a video

    Sezione Singleplayer
    -Se il valore che gli arriva attraverso il $_GET['gen'] è uguale a Singleplayer estrae dalla variabile $lista_tabelle il nome delle tabelle che hanno la parte di nome uguale a single e le visualizza a video

    Sezione Estrazione dati:
    -nel ciclo for estrae le tabelle presenti nel database e le assegna alla variabile $tabella[$i]
    -nell' if controlla che il nome della variabile che gli arriva attraverso il $_GET['gen'] sia presente nella $tabella[$i], nel caso sia presente estrae i dati dalla tabella interessata e gli visualizza a video

    Il problema è che quando vado per cliccare sui primi due link che vengono creati dalla sezione multiplayer il codice funziona e mi fa vedere i dati contenuti nella tabella interessata, ma se vado a cliccare sull'ultimo link della sezione multiplayer o su uno della sezione singleplayer il browser si blocca e si ciuccia quasi tutta la memoria, sapete consigliarmi qualche soluzione?

    Vi ringrazio in anticipo per ogni vostro interesse
    Ultima modifica di s7ntech : 02-02-2005 alle ore 19.02.09
    ___________________________________________
    is mail or not is mail?
    -------------------------------------------------
    Ogni uomo e' gia' per meta' innamorato di una donna che lo sta a sentire (Francis)
    presa da http://loki88.altervista.org/

  2. #2
    L'avatar di s7ntech
    s7ntech non è connesso AlterVistiano
    Data registrazione
    26-09-2004
    Messaggi
    758

    Predefinito

    Se mi son spiegato male ditemelo, che proverò ad esprimere il problema in un'altro modo
    ___________________________________________
    is mail or not is mail?
    -------------------------------------------------
    Ogni uomo e' gia' per meta' innamorato di una donna che lo sta a sentire (Francis)
    presa da http://loki88.altervista.org/

  3. #3
    L'avatar di s7ntech
    s7ntech non è connesso AlterVistiano
    Data registrazione
    26-09-2004
    Messaggi
    758

    Predefinito

    ho trovato la causa del problema, praticamente, provando il codice con IE, questultimo si bloccava senza farmi vedere niente, rimaneva pagina bianca, con Firefox invece, mi fa vedere che estrae i dati della tabella all'infinito.
    ___________________________________________
    is mail or not is mail?
    -------------------------------------------------
    Ogni uomo e' gia' per meta' innamorato di una donna che lo sta a sentire (Francis)
    presa da http://loki88.altervista.org/

  4. #4
    L'avatar di webscript
    webscript non è connesso Utente attivo
    Data registrazione
    28-11-2004
    Messaggi
    320

    Predefinito

    se fa qualcosa all'infinito, vuol dire che c'è un ciclo sbagliato... prova acontrollare

  5. #5
    Guest

    Predefinito

    Ciao,

    $get = $_GET['gen'];
    $tabel = mysql_query("SELECT id,nome,descrizione,dimensione,download FROM ".$get."");

    Non bisogna passare MAI ad una query SQL un valore passato da un $_GET senza prima controllare che esso contenga ciò che deve contenere (nuomeri o lettere), se non si fa ciò si può andare incontro ad una sql injection.

    Bye.

  6. #6
    L'avatar di s7ntech
    s7ntech non è connesso AlterVistiano
    Data registrazione
    26-09-2004
    Messaggi
    758

    Predefinito

    if ($_GET['gen'] == $tabella[$i]){
    $get = $_GET['gen'];
    $tabel = mysql_query("SELECT id,nome,descrizione,dimensione,download FROM ".$get."");
    Se noti il controllo lo fa, se $_GET['gen'] è uguale a valori contenuti in $tabella[$i] va avanti
    ___________________________________________
    is mail or not is mail?
    -------------------------------------------------
    Ogni uomo e' gia' per meta' innamorato di una donna che lo sta a sentire (Francis)
    presa da http://loki88.altervista.org/

Regole di scrittura

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