Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2005
    Messaggi
    282

    Campo troncato in presenza di spazi

    Ciao a tutti,
    in un form imposto un campo tramite un combo box. Se nel campo ci sono spazi quando lo passo ad un altro script me lo trovo troncato. Mi spiegate il perchè?

    Grazie


    Allego le istruzioni del combo box e come vado a leggere la variabile nell'altro script. Il campo è si_istituto e nel combo box lo vedo bene.

    <?php
    $si_istituto = $scuolaistituti->getsi_istituto();
    $sql = mysqli_query($conn , "SELECT * FROM istituti");
    $is_des = $istituti->getis_des();
    echo "<select name='si_istituto'>";
    while ($res = mysqli_fetch_array($sql)){
    if ($si_istituto==$res['is_des'])
    {
    echo "<option selected=\"selected\" value=" . $res["is_des"] . ">" . $res["is_des"]. "</option>";
    }
    else
    {
    echo "<option value=".$res["is_des"].">".$res["is_des"]. "</option>";
    }
    }
    echo "</select>";
    ?>


    e questo è il recupero della variabile:
    $si_istituto = mysql_escape_string(strtoupper($_POST['si_istituto']));

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2005
    Messaggi
    282
    Il problema deve essere nel value. Guardando l'html generato mi sono accorta che nel value mancano gli apici.
    Vedo qualcosa del tipo: value=LICEO CLASSICO
    Immagino che dovrebbe essere value='LICEO CLASSICO'
    E' questo il problema? E se è questo come faccio ad inserire gli apici? ho provato in diversi modi ma mi da sempre errore...

  3. #3
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,503
    Codice PHP:
    if ($si_istituto==$res['is_des'])
    {
        echo 
    '<option selected="selected" value="' $res["is_des"] . '">' $res["is_des"]. '</option>';
    }
    else
    {
        echo 
    '<option value="'.$res["is_des"].'">'.$res["is_des"]. '</option>';


  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2005
    Messaggi
    282
    Grazie!
    Era quindi un problema di apici. Adesso però devo studiare un pò quello che hai fatto. Devo capire come funzionano questi apici....

  5. #5
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,503
    La differenza tra i due tipi di apici per PHP è la seguente

    - apici singoli
    se fai una cosa del tipo
    $nome = 'Pippo';
    echo 'Il nome è $nome';

    ti stamperà a video
    Il nome è $nome
    ovvero la variabile non viene considerata come tale, ma come semplice testo

    - apici doppi
    se fai una cosa del tipo
    $nome = 'Pippo';
    echo "Il nome è $nome";

    ti stamperà a video
    Il nome è Pippo

    quindi gli apici doppi consentono di usare variabili all'interno della stringa

    Chiaramente nel tuo caso, visto che non usi variabili direttamente dentro la stringa, ma interrompi la stringa e concateni le variabili col . puoi usare gli apici che vuoi.
    Dato che nella stringa hai del codice html, il quale richiede di stampare degli apici, invece di impazzire ad usare i caratteri di escape \ puoi usare un tipo di apice per il PHP (quello singolo in questo caso) e l'altro per html (quello doppio).
    In questo caso nulla ti vieta di invertire l'uso degli apici, ovvero quelli doppi per il PHP e quelli singoli per HTML, funzionerebbe ugualmente.

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2005
    Messaggi
    282
    Grazie!!!!!!!!!!!!!
    Chiarissimo, è bello avere dei maestri come voi!

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 © 2025 vBulletin Solutions, Inc. All rights reserved.