- ベストアンサー
phpでのpost送信について
- 現在、phpを使用してデータベースに格納されている値にリンクを貼り、その先にpostメソッドで値を渡すスクリプトを作成していますが、formの書き方が原因でsyntax errorが発生してしまいます。
- ループを使用してスクリプトを実行していますが、初心者のため最善の方法かどうかわかりません。改善策を知っている方は教えてください。
- リンクには値を渡せるようにし、その値をpostメソッドで受け取るために、formの記述方法を修正する必要があります。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
Xとか、hiddenとか、primaryとか、おそらくは文字列リテラルで書きたかったのであろう文字が引用符で括られていません(変数なら変数で $X などと書くべきですし)。 echo '<form name="X" method="POST" action="' . $Link_URL . '">'; echo '<input type="hidden" value="' . $sql_result[$i]["renban"] . '" name="primary">'; echo '</form>'; echo '<a href="javascript:document.X.submit()">' . $sql_result[$i]["title"] . '</a>'; 全部のformのname属性が同一というのはあり得ないので、X を form . $i にするならば echo '<form name=form"' . $i . '" method="POST" action="' . $Link_URL . '">'; echo '<input type="hidden" value="' . $sql_result[$i]["renban"] . '" name="primary">'; echo '</form>'; echo '<a href="javascript:document.form' . $i . '.submit()">' . $sql_result[$i]["title"] . '</a>'; (蛇足) anchor要素のhref属性でjavascript:~~というのは、ちょっとどうかなという気はします。onclickイベントを使った方がいいのでは?
その他の回答 (1)
- 1minn
- ベストアンサー率57% (52/90)
「X」「POST」「hidden」「primary」「javascript:document.X.submit()」 これ全部定数ですか? 違うなら当然エラーになりますよ echo '<form name='; echo X; echo ' method='; echo POST; ご提示のソースを分けたらこんな感じです。 変数でも定数でも関数でもない。その値をクォート無しで出力すればエラーになります。
お礼
ご回答ありがとうございます。 その後いろいろと試した結果、上手くいきました。 1minnさんのご回答、非常に勉強になりました、ありがとうございました。
お礼
ご回答ありがとうございます。 非常に分かりやすい解説で、勉強になりました。 今後の参考にさせていただきます。