dポイントプレゼントキャンペーン実施中!

$_GETで送るときに問題が発生してしまいまして、下記のようにボタンで送っていますが、下記のように。

<input type="button" value="削除" onClick="location.href=index.php?&no=<?php echo $test['test'] ?>'">

受け渡す値が、
$test['test']= '&2&87dbdf2060362c433737c84b526a750a4bb3d6ca.jpg' の場合には、

index.php?&no=&2&87dbdf2060362c433737c84b526a750a4bb3d6ca.jpg このようになってしまい。

&2&となっている部分が邪魔をしてしまって、$_GET['no']で受け取ることができません。

print_rで配列を確認してみると & のせいで
GETArray(
[no] =>
[2] =>
[87dbdf2060362c433737c84b526a750a4bb3d6ca.jpg ] =>
)
このようになっており、

私がやりたいのは、
[no] => &2&87dbdf2060362c433737c84b526a750a4bb3d6ca.jpg  なのですが、 
こののような問題に対処するにはどようにすればよいでしょうか?

A 回答 (1件)

URIにはエンコードが必要


またlocation.hrefに代入するならクォーテーションが抜けてる
それと&はパラメータの区切りなのでnoの前につけない

<input type="button" value="削除" onClick="location.href='index.php?no=<?php echo urlencode($test['test']); ?>'">
    • good
    • 0
この回答へのお礼

ありがとうございます。おかけでurlencodeの使い方を理解することができました♪。

お礼日時:2016/05/10 00:03

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!