2016-08-01 19 views
0

シリアル化された配列を使用してサーバーにデータを送信しようとしていますが、何らかの理由で完全に機能しないことがわかりません。シリアル化された配列経由でデータを送信

<?php if(isset($_POST['submit'])){$my_person = unserialise ($persons)}?> 

を次のように 私は非表示の入力フィールドは、この

<input type = "hidden" name = "collect" value = "<?php serialise($persons)?>"> 

PHPコードのように見えるの入力テキストフィールドと、次のタラ

$person =array(); 
if(isset($_POST['first_name'])) {array_push($person,$_POST['first_name']);} 

を持っているが、私はなぜ知らないが、まずデータが配列にプッシュされず、2番目にシリアル化されていないと動作しないようですが、bool(false)というエラーがあります。私を助けてくれますか?

+1

なぜシリアル化されたデータを送信しますか?また、それはunserialize(zで) – Farkie

+0

'$ person'と' $ persons'という2つの変数を持っています。 – RamRaider

+0

私はそれをサーバ側に送り、それは配列なのでシリアル化しなければならないと思いました。あなたは良いアイデアをお持ちですか? – princesse

答えて

0

使用echoあなたはpersonsにアクセスするための異なる変数を使用している入力

<input type = "hidden" name = "collect" value = "<?php echo serialise($persons)?>"> 
+0

リズミ氏に感謝します。今私は2番目の問題がありますこれは、フィールド配列(0){}の値の代わりにvar_dumpの結果として得られるものです。これは配列が空になるまでは意味するのでしょうか? – princesse

+0

あなたの 'echo $ persons'はどうなっていますか? PHPコードですか? – C2486

+0

注意:11行目のC:\ wampp \ files \ process.phpの文字列変換への配列 配列 – princesse

0

に価値を置きます。 personまたはpersonsを使用してください。下記の編集コードをご確認ください

$persons =array(); //Either use `person` or `persons` 
if(isset($_POST['first_name'])) {array_push($persons,$_POST['first_name']);} //Either use `person` or `persons` 

// For text field name given as `personsarr` 
<input type = "hidden" name = "personsarr" value = "<?php echo serialise($persons)?>"> 

<?php if(isset($_POST['submit'])){$my_person = unserialise ($personsarr)}?> 
関連する問題