Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    31

    Richiesta informazioni su passaggio parametri

    Ciao a tutti, scusate l'ingnoranza ma ho un problema e non riesco a risolverlo.

    Mi spiego :

    Ho una pagina php (pagina1.php) dove sono presenti alcuni campi. Al momento del submit invio tutto in request ad una seconda(pagina2.php) pagina php che si occupa del salvataggio. Indipendentemente dall'esito del salvataggio creo un link e passo nuovamente i valori alla pagina1.php

    Nella pagina1 effettuo la lettura dei valori attraverso $_REQUEST ad esempio
    $variabile1=$_REQUEST['variabile1'];

    Il suo contenuto vale '1' (nella pagina2.php la imposto in questo modo: variabile1 ='1')
    controllo il tipo di dato gettype($variabile1) e mi restituisce giustamente String

    ma quando effettuo il confronto
    if($variabile1 == '1'){
    echo("Sono qui 1");
    }else{
    echo("Sono qui 2");
    }
    entra sempre nel ramo else e mi stampa "Sono qui 2"

    Ho provato anche ad effettuare il confronto con === ma il risultato è lo stesso.
    Se assegno prima della if $variabile1 = '1' funziona correttamente.

    Sembra che quando la recupero in request succeda qualcosa.

    Qualcuno sa spiegarmi perchè o cosa devo fare per controllare il valore della variabile letta dalla request? Avendo un valore 1 può interpretarlo come numerico e quindi la condizione della if salta (nonostante mi indica che è di tipo stringa?)

    Grazie a tutti

  2. #2
    Moderatore di Windows e software L'avatar di URANIO
    Registrato dal
    Dec 1999
    residenza
    Casalpusterlengo (LO)
    Messaggi
    1,290
    In questi casi fai una print della variabile prima della IF
    Aggiungi anche un valore ad inizio e fine, magari banalmente è solo un problema di spazi.

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    31
    Grazie, provo con la trim o aggiungo qualcosa

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    31
    Nulla, continua non entrare nel ramo giusto della if, il valore è 1 non ha spazi ed è di tipo Stringa, non capisco perchè, sbaglio sicuramente qualcosa, ma una if così banale....

    echo($variabile);
    stampa : '1'

    if(trim($variabile == '1')){
    echo("1");
    }else{
    echo("2");
    }

    stampa sempre 2

    Grazie ancora a tutti per la disponibilità

  5. #5
    Questo e' sbagliato:
    Codice PHP:
    if(trim($variabile == '1')){ 
    praticamente usi trim() sul risultato dell'uguaglianza, non sulla variabile:
    Codice PHP:
    if(trim($variabile) == '1'){ 

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    31
    Ho provveduto alla modifica(grazie mi era proprio scappato) ma il risultato non cambia, se utilizzo la variabile letta da request non entra nel primo ramo della if.

    Grazie ancora!

  7. #7
    Prova a fare

    Codice PHP:
    var_dump($variabile

  8. #8
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    31
    Stampando il valore di $variabile1 con la funzione var_dump() il risultato è il seguente :
    string(3) "'1'"

    e non passa nemmèno così

  9. #9
    Ah ma quindi la variabile contiene
    codice:
    '1'
    non
    codice:
    1
    e' giusto che sia cosi'? Cioe' il numero uno racchiuso da due apici?

  10. #10
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    31
    Il valore della variabile dovrebbe essere 1, nel db ho un flag di tipo VARCHAR(1) che lo salvo a 1 o a 0 a secondo della circostanza. Quando effettuo il salvataggio effettuo la seguente istruzione

    $variabile1 = '1';

    e poi la passo in request. Nella pagina di destinazione quando la leggo ottengo '1'.
    E' questo lo sbaglio? Come devo inizializzare in PHP la variabile per ottenere 1?

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.