Visualizzazione dei risultati da 1 a 8 su 8

Discussione: method post

  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2006
    Messaggi
    14

    method post

    Ho un problema: non mi funziona il method post di un form
    Questa è il form:
    $a=serialize($dati);
    echo"<form action='prova.php?dat=$a' method='post' name='cart' id='cart'>";

    Nello script prova.php ho fatto:
    error_reporting(E_ALL);
    $a=$_POST["dat"];
    echo $a;

    ma mi dà il seguente errore:
    Notice: Undefined index: dat in C:\Programmi\Apache Group\Apache2\htdocs\sito_test\prova.php on line 9

    Perchè?Dove sbaglio?

  2. #2
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    lo stai mandando in get.. .accodato all'url...

    se volessi mandarlo in post dovresti fare cosi:

    codice:
     echo"<form action='prova.php' method='post' name='cart' id='cart'>";
    echo '<input type="hidden" name="dat" value="'.$a.'">';
    echo "</form>
    ciao

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2006
    Messaggi
    14

    method post

    Grazie,funziona.Ma perchè sullo script prova.php:
    error_reporting(E_ALL);
    $a=$_REQUEST["dat"];
    $b=unserialize($a);
    print_r($b);
    ?>

    continua a darmi questo errore:Notice: unserialize() [function.unserialize]: Error at offset 0 of 932 bytes in C:\Programmi\Apache Group\Apache2\htdocs\sito_test\prova.php on line 11

    Che devo fare?

  4. #4
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    probabilemente hai la direttiva nel file php.ini
    codice:
    magic_quotes_gpc = On
    questa aggiunge gli slashes davanti agli apici in automatico.

    Prova a fare cosi:

    codice:
    $a=stripslashes($_REQUEST["dat"]);
    $a=$_REQUEST["dat"];
    $b=unserialize($a);
    print_r($b);
    Ci sono diverse discussioni sull'argomento se cerchi...

    comunque non sarebbe ancora meglio usare le sessioni?

    ciao

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2006
    Messaggi
    14

    method post

    Non funziona lo stesso anche perchè la stringa passata non contiene slashes.
    L'output dello script prova.php è:
    .a:7:{i:0;a:3:{i:0;s:2:"36";i:1;s:8:"CU2591_0";i:2 ;s:73:" €90.00 (incluso 20 % I.V.A.)";}i:1;a:3:{i:0;s:2:"37";i:1;s:8:"CU2591_1" ;i:2;s:73:" €90.00 (incluso 20 % I.V.A.)";}i:2;a:3:{i:0;s:2:"38";i:1;s:8:"CU2591_2" ;i:2;s:73:" €90.00 (incluso 20 % I.V.A.)";}i:3;a:3:{i:0;s:2:"39";i:1;s:8:"CU2591_3" ;i:2;s:73:" €90.00 (incluso 20 % I.V.A.)";}i:4;a:3:{i:0;s:2:"40";i:1;s:8:"CU2591_4" ;i:2;s:73:" €90.00 (incluso 20 % I.V.A.)";}i:5;a:3:{i:0;s:2:"41";i:1;s:8:"CU2591_5" ;i:2;s:73:" €90.00 (incluso 20 % I.V.A.)";}i:6;a:3:{i:0;s:2:"42";i:1;s:8:"CU2591_6" ;i:2;s:73:" €90.00 (incluso 20 % I.V.A.)";}}.
    Notice: unserialize() [function.unserialize]: Error at offset 0 of 876 bytes in C:\Programmi\Apache Group\Apache2\htdocs\sito_test\prova.php on line 12

    Allora qual'è il problema?

  6. #6
    Utente di HTML.it
    Registrato dal
    Nov 2006
    Messaggi
    14

    method post

    Non funziona lo stesso anche perchè la stringa passata non contiene slashes.
    L'output dello script prova.php è:
    .a:7:{i:0;a:3:{i:0;s:2:"36";i:1;s:8:"CU2591_0";i:2 ;s:73:" €90.00 (incluso 20 % I.V.A.)";}i:1;a:3:{i:0;s:2:"37";i:1;s:8:"CU2591_1" ;i:2;s:73:" €90.00 (incluso 20 % I.V.A.)";}i:2;a:3:{i:0;s:2:"38";i:1;s:8:"CU2591_2" ;i:2;s:73:" €90.00 (incluso 20 % I.V.A.)";}i:3;a:3:{i:0;s:2:"39";i:1;s:8:"CU2591_3" ;i:2;s:73:" €90.00 (incluso 20 % I.V.A.)";}i:4;a:3:{i:0;s:2:"40";i:1;s:8:"CU2591_4" ;i:2;s:73:" €90.00 (incluso 20 % I.V.A.)";}i:5;a:3:{i:0;s:2:"41";i:1;s:8:"CU2591_5" ;i:2;s:73:" €90.00 (incluso 20 % I.V.A.)";}i:6;a:3:{i:0;s:2:"42";i:1;s:8:"CU2591_6" ;i:2;s:73:" €90.00 (incluso 20 % I.V.A.)";}}.
    Notice: unserialize() [function.unserialize]: Error at offset 0 of 876 bytes in C:\Programmi\Apache Group\Apache2\htdocs\sito_test\prova.php on line 12

    Allora qual'è il problema?

  7. #7
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    ho notato nel codice che ti ho incollato un errore, tu non è che magari hai provato cosi?

    codice:
    $a=stripslashes($_REQUEST["dat"]);
    $b=unserialize($a);
    print_r($b);
    ciao

  8. #8
    Utente di HTML.it
    Registrato dal
    Nov 2006
    Messaggi
    14

    method post

    Si ho provato la forma corretta ma mi dà sempre lo stesso errore, non capisco perchè.
    ciao

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.