Visualizzazione dei risultati da 1 a 5 su 5

Discussione: problema in REQUEST

  1. #1

    problema in REQUEST

    Ciao ragazzi,
    ho un problema con php e html....
    Nel mio sito ho utilizzato una lista select a tendina in html e l'ho popolata con valori letti da un database.
    I dati vengono visualizzati benissimo nella lista select il problema è che quando li seleziono e premo il relativo pulsante di sumit, nell'array REQUEST, in corrispondenza del nome della lista select creata, mi compare solo il nome selezionato fino al primo spazio... cioè, se seleziono ad esempio il nome di una squadra così composto: "San Michele", nell'array request mi compare solo la parola "San". Succede così per tutti i valori composti da più di una parola. Come mai mi viene separata la parola e non mi viene riportata tutta???? sembra che consideri uno spazio bianco come fine valore di selezione...

    Vi prego aiutatemi.....

  2. #2
    Premsessa: evita l'utilizzo di $_REQUEST, puo' introdurre bug difficili da tracciare. Usa al suo posto $_POST, $_GET e $_COOKIE.

    I dati vengono visualizzati benissimo nella lista select il problema è che quando li seleziono e premo il relativo pulsante di sumit, nell'array REQUEST, in corrispondenza del nome della lista select creata, mi compare solo il nome selezionato fino al primo spazio... cioè, se seleziono ad esempio il nome di una squadra così composto: "San Michele", nell'array request mi compare solo la parola "San".
    Hai creato i tag option e select nel modo corretto?
    Posta il codice PHP che utilizzi e il corrispettivo HTML che viene visualizzato dal browser.

  3. #3
    Ok.. seguirò il tuo consiglio.... questo è il codice php e html della mia select con relativa popolazione....

    form action="squadre.php" method="GET" >
    <table>
    <tr><td>


    <font size="1">Squadra: </font></p>
    </td>
    <td><select name="squadre">
    <?php
    $link = mysql_connect('localhost', 'fanta', 'master')
    or die('Connessione fallita: ' . mysql_error());
    mysql_select_db('fanta_master') or die('Selezione DB fallita: ' . mysql_error());
    $query = "Select nome from squadra";
    $rq = mysql_query($query);

    while ($row = mysql_fetch_assoc($rq)){
    echo '<option value='.$row['nome'].' >'.
    $row['nome'].'</option>';
    }
    echo '<option value="Tutte" selected="selected">Tutte</option>';

    ?>
    </select>
    </td>
    </tr>
    <tr><td>


    <font size="1">Ruolo: </font></p>
    </td>
    <td><select name="ruoli">
    <option value='P' >Portiere</option>
    <option value='D' >Difensore</option>
    <option value='C' >Centrocampista</option>
    <option value='A' >Attaccante</option>
    <option value='Tutti' selected="selected">Tutti</option>
    </select>
    </td>
    </tr>
    <tr><td>


    <font size="1">Nome: </font></p>
    </td>
    <td><input type="text" name="nome_g">
    </td>
    </tr>
    <tr><td></td>
    <td>
    <input type="submit" name="cerca" value="Mostra">
    </td>
    </tr>
    </table>
    </form>

    E' la prima select che mi da problemi... in quanto carica dei nomi di squadre che hanno uno spazio nel nome... E ricordo che i nomi delle squadre vengono visualizzati benissimo nella select....

    Ciao e grazie....
    Attendo un aiutoooo.....

  4. #4
    while ($row = mysql_fetch_assoc($rq)){
    echo '<option value='.$row['nome'].' >'.
    $row['nome'].'</option>';
    }
    Il problema è che non utilizzi nessun delimitatore nell'attributo VALUE del tag OPTION.

    Modifica il tuo codice come segue e vedrai che funziona:

    Codice PHP:
    while ($row mysql_fetch_assoc($rq)){
        echo 
    '<option value="' htmlspecialchars($row['nome']) . '" >'$row['nome'].'</option>';

    Oppure più semplicemente:

    Codice PHP:
    while ($row mysql_fetch_assoc($rq)){
        echo 
    '<option>' htmlspecialchars($row['nome']) . '</option>';


  5. #5
    Ti ringrazio tanto... finalmente funziona!!!!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.