Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1

    stringhe e codice ascii

    ciao, sono un pivello con php e mi serviva una mano per risolvere un problemino stupido;allora ho questa situazione :

    codice:
    <form action="calendario.php" method="post"> 
    Scegli la lettera <select name="lettera">   
    <?php for($i=97;$i<123;$i++){ 
    		echo "<option value=$i> &#$i </option>";	 
    		 } ?>
     </select>
     
    <input type=submit value=invia>
     </form>
    fin qui ok poi faccio $lettera=$_POST["lettera"]; e mi servirebbe andare alla lettera successiva come posso fare? praticamente se uno nella select seleziona la lettera a come faccio poi ad aggiungere al codice ascii di $lettera 1 per stampare la b?

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    Codice PHP:
    print chr($lettera+1); 
    (il form invia il codice ascii, non il carattere, quindi $lettera contiene un numero)

  3. #3
    grazie mille non trovavo come fare,grazie tante

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    prego!

  5. #5
    ciao ho un altro problema banalissimo ma che non capisco praticamente se faccio echo di $r e $scelta risultano tutte e due la stessa lettera però non entra nell'if non stampa mai OK cognome trovato...

    codice:
          $lettera=$_POST["lettera"];
    
         $scelta= "&#$lettera";
    	$r=substr($alunni[3],0,1);
    	if ($r == $scelta) echo "OK cognome trovato"."
    ";
    $_POST prende la lettera scelta in un menu a tendina non so se possa influire...ciao grazie

  6. #6
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    Originariamente inviato da aspiranteacker
    codice:
    ... ($r == $scelta) ...
    l'uguaglianza non può essere verificata perchè usi due "codifiche" diverse per i caratteri... $scelta contiene un'entità HTML, mentre $r mi pare sia un semplice carattere... puoi provare con una modifica al volo cambiando il confronto con ... (ord($r) == $lettera) ...

  7. #7
    funziona!!!! mille grazie....non ho ben capito come mai...sia $r che $scelta non hanno dentro il codice ascii delle lettere ? ciao grazie ancora!!

  8. #8
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    no, $lettera ha il codice numerico, mentre $r la rappresentazione testuale e $scelta la codifica come entità HTML, per esempio per il carattere '>' (simbolo di maggiore) le tre variabili dovrebbero valere:

    $lettera=62
    $r='>'
    $scelta='&#62;' (equivalente a '&gt;')

    ord($r) restituisce il codice del carattere in $r, quindi ord('>')=62

  9. #9
    quindi usiamo ord($variabile) ogni volta che vogliamo confrontare un valore con una variabile presa con post o get da un form html giusto?

  10. #10
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    no: nel tuo caso il form passava il valore numerico corrispondente a una data lettera... dipende da cosa si passa con il form

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.