Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2003
    Messaggi
    297

    Problema sessioni, probabilmente banale

    Ciao Ragazzi,
    Sto provando ad implementare un sistema di pagamento con paypal per ora con scarsi risultati. Ho capito che l'errore era dovuto al fatto che non veniva ricevuta una variabile di sessione. Dal file ricarica.php:

    Codice PHP:
        <?php
        
    include 'db/include/db_connect.php';
        
    $sql "SELECT id,titolo,descrizione,immagine, prezzo, misure FROM atelier WHERE id='$_GET[id]'";
        
    $res mysql_query($sql$conn);
        
        while (
    $row mysql_fetch_array($res))
        {
            
        
    $money $row['prezzo']; 
        
    $item $row['titolo'];

    };
        
    $_SESSION["Payment_Amount"] = $money;
        echo 
    "

    Per confermare il pagamento di "
    .$_SESSION["Payment_Amount"]. "€ per l'opera " .$item." clicca qui.</p>"
    ?>
    codice:
    <form action='prova.php' METHOD='POST'>
    <input type='image' name='submit' src='https://www.paypal.com/en_US/i/btn/btn_xpressCheckout.gif' border='0' align='top' alt='Check out with PayPal'/>
    </form>
    setto la variabile e tramite form la spedisco a prova.php.

    Codice PHP:
    <?php
    session_start
    ();
    if (!isset(
    $_SESSION["Payment_Amount"])) { 
    echo 
    "La variabile non è settata" 
    } else {
        
    session_start();
    $cod $_SESSION["Payment_Amount"]; //id cod recuperato nel file di verifica
    echo $cod
    }
    ?>

    La risposta di prova.php mi conferma che non viene rilevata. Dove sto sbagliando? Sono sicuro che l'errore è una sciocchezza!
    Grazie in anticipo!

  2. #2

    Re: Problema sessioni, probabilmente banale

    Originariamente inviato da Lord Byron
    Ciao Ragazzi,
    Sto provando ad implementare un sistema di pagamento con paypal per ora con scarsi risultati. Ho capito che l'errore era dovuto al fatto che non veniva ricevuta una variabile di sessione. Dal file ricarica.php:

    Codice PHP:
        <?php
        
    include 'db/include/db_connect.php';
        
    $sql "SELECT id,titolo,descrizione,immagine, prezzo, misure FROM atelier WHERE id='$_GET[id]'";
        
    $res mysql_query($sql$conn);
        
        while (
    $row mysql_fetch_array($res))
        {
            
        
    $money $row['prezzo']; 
        
    $item $row['titolo'];

    };
        
    $_SESSION["Payment_Amount"] = $money;
        echo 
    "

    Per confermare il pagamento di "
    .$_SESSION["Payment_Amount"]. "€ per l'opera " .$item." clicca qui.</p>"
    ?>
    codice:
    <form action='prova.php' METHOD='POST'>
    <input type='image' name='submit' src='https://www.paypal.com/en_US/i/btn/btn_xpressCheckout.gif' border='0' align='top' alt='Check out with PayPal'/>
    </form>
    setto la variabile e tramite form la spedisco a prova.php.

    Codice PHP:
    <?php
    session_start
    ();
    if (!isset(
    $_SESSION["Payment_Amount"])) { 
    echo 
    "La variabile non è settata" 
    } else {
        
    session_start();
    $cod $_SESSION["Payment_Amount"]; //id cod recuperato nel file di verifica
    echo $cod
    }
    ?>

    La risposta di prova.php mi conferma che non viene rilevata. Dove sto sbagliando? Sono sicuro che l'errore è una sciocchezza!
    Grazie in anticipo!
    Nella prima parte di codice non c'è il session_start().
    Nella parte HTML non vedo alcun "invio" di variabili ma solamente un submit
    Nella seconda parte di codice metti un inutile session_start() in più.
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2003
    Messaggi
    297

    Re: Re: Problema sessioni, probabilmente banale

    Originariamente inviato da satifal
    Nella prima parte di codice non c'è il session_start().
    Nella parte HTML non vedo alcun "invio" di variabili ma solamente un submit
    Nella seconda parte di codice metti un inutile session_start() in più.
    Dovrei inserire un hidden field nel form? Non avevo mai visto un passaggio di variabili di sessione in questo modo e mi sto trovando un po' in difficoltà, dopo aver provato il codice di un tutorial dove il form è tale e quale a quello che ho incollato qui!

  4. #4

    Re: Re: Re: Problema sessioni, probabilmente banale

    Originariamente inviato da Lord Byron
    Non avevo mai visto un passaggio di variabili di sessione in questo modo
    La sessione non va passata da nessuna parte, esiste e basta. Se ci "butti" qualcosa dentro ce lo ritrovi.
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    1,453
    Oltre a quello detto da satifal

    Codice PHP:
    $sql "SELECT id,titolo,descrizione,immagine, prezzo, misure FROM atelier WHERE id='$_GET[id]'"
    è vulnerabile ad sql injection almeno che tu non l'abbia reso sicuro in altri modi

  6. #6
    Utente di HTML.it
    Registrato dal
    May 2003
    Messaggi
    297

    Re: Re: Re: Re: Problema sessioni, probabilmente banale

    Originariamente inviato da satifal
    La sessione non va passata da nessuna parte, esiste e basta. Se ci "butti" qualcosa dentro ce lo ritrovi.
    Ok dovrei aver risolto almeno in parte all'obbrobrio di prima!

    Codice PHP:
         <?php
        
    include 'db/include/db_connect.php';
        
    $sql "SELECT id,titolo,descrizione,immagine, prezzo, misure FROM atelier WHERE id='$_GET[id]'";
        
    $res mysql_query($sql$conn);
        
        while (
    $row mysql_fetch_array($res))
        {
            
        
    $money $row['prezzo']; 
        
    $item $row['titolo'];

    };
        
    session_start();
        
    $_SESSION["Payment_Amount"] = $money;
        echo 
    "

    Per confermare il pagamento di "
    .$_SESSION["Payment_Amount"]. "€ per l'opera " .$item." clicca qui.</p>"
        echo 
    '
        
    <form action="prova.php" METHOD="POST">
    <input type="image" name="submit" src="https://www.paypal.com/en_US/i/btn/btn_xpressCheckout.gif" border="0" align="top" alt="Check out with PayPal"/>
    <input type="hidden" name="' 
    .$key'" value="' .$_SESSION['Payment_Amount']. '" />
    </form>
    '

    ?>

    è vulnerabile ad sql injection almeno che tu non l'abbia reso sicuro in altri modi
    In quel caso sta solo visualizzando due valori, potrebbe essere comunque pericoloso? Prometto che dopo aver sistemato queste grane mi butterò nello studio serio del php!

  7. #7
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    1,453

    Re: Re: Re: Re: Re: Problema sessioni, probabilmente banale

    Originariamente inviato da Lord Byron
    In quel caso sta solo visualizzando due valori, potrebbe essere comunque pericoloso? Prometto che dopo aver sistemato queste grane mi butterò nello studio serio del php!
    Ogni query che interagisce con variabili pubbliche o modificabili dall'utente e non rese
    sicure tramite apposite funzioni come mysql_real_escape_string o addslashes è a rischio

  8. #8

    Re: Re: Re: Re: Re: Problema sessioni, probabilmente banale

    Originariamente inviato da Lord Byron
    Ok dovrei aver risolto almeno in parte all'obbrobrio di prima!

    Codice PHP:
         <?php
        
    include 'db/include/db_connect.php';
        
    $sql "SELECT id,titolo,descrizione,immagine, prezzo, misure FROM atelier WHERE id='$_GET[id]'";
        
    $res mysql_query($sql$conn);
        
        while (
    $row mysql_fetch_array($res))
        {
            
        
    $money $row['prezzo']; 
        
    $item $row['titolo'];

    };
        
    session_start();
        
    $_SESSION["Payment_Amount"] = $money;
        echo 
    "

    Per confermare il pagamento di "
    .$_SESSION["Payment_Amount"]. "€ per l'opera " .$item." clicca qui.</p>"
        echo 
    '
        
    <form action="prova.php" METHOD="POST">
    <input type="image" name="submit" src="https://www.paypal.com/en_US/i/btn/btn_xpressCheckout.gif" border="0" align="top" alt="Check out with PayPal"/>
    <input type="hidden" name="' 
    .$key'" value="' .$_SESSION['Payment_Amount']. '" />
    </form>
    '

    ?>
    Che senso ha questo:

    Codice PHP:
    ...
    <
    input type="hidden" name="' .$key. '" value="' .$_SESSION['Payment_Amount']. '" /> 
    ... 
    Come già detto precedentemente, se metti un valore in sessione ce lo ritrovi in tutte le altre pagine, non devi passarlo. Basta rileggerlo dalla sessione, altrimenti che senso avrebbe!
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  9. #9
    Utente di HTML.it
    Registrato dal
    May 2003
    Messaggi
    297

    Re: Re: Re: Re: Re: Re: Problema sessioni, probabilmente banale

    Originariamente inviato da satifal
    Che senso ha questo:

    Codice PHP:
    ...
    <
    input type="hidden" name="' .$key. '" value="' .$_SESSION['Payment_Amount']. '" /> 
    ... 
    Come già detto precedentemente, se metti un valore in sessione ce lo ritrovi in tutte le altre pagine, non devi passarlo. Basta rileggerlo dalla sessione, altrimenti che senso avrebbe!
    E' chiaro, non avrebbe senso. Solo che non caricava la pagina e non capivo l'errore, quasi senza rifletterci le stavo provando un po' tutte. Sono giorni che cerco di far funzionare invano l'implementazione con paypal.

  10. #10
    Utente di HTML.it
    Registrato dal
    May 2003
    Messaggi
    297

    Re: Re: Re: Re: Re: Re: Problema sessioni, probabilmente banale

    Originariamente inviato da RoTeam
    Ogni query che interagisce con variabili pubbliche o modificabili dall'utente e non rese
    sicure tramite apposite funzioni come mysql_real_escape_string o addslashes è a rischio
    Una volta riuscito a farlo funzionare mi occuperò della questione sicurezza. Tenetevi caldi che a breve avrò esaurito la pazienza e chiederò nel forum di realizzarlo per me, anche retribuito.

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.