アプリ版:「スタンプのみでお礼する」機能のリリースについて

文末は(だいぶ端折ってますが),
(1) エラーがあればエラー表示,
(2) エラーがなければnext.phpに飛ぶ
という動作をするのですが, next.php 内に

echo $_POST["Name"]; とか echo $_POST["reg"]; とか書いても
valueの中身が渡ってきていません.
header("Location: next.php"); で飛ばすとだめなのでしょうか.


http://oshiete1.goo.ne.jp/qa2706500.html
でも,#2さんのアドバイスのようにしようとしましたが,
#1さんのご教示のように,セッションを利用するしかないですか?
ちょっとセッションで値の渡し方がチンプンカンプンなのですが・・・


<?php
session_cache_limiter('none');
session_start();
header("Cache-control:no-cache");
header("Pragma:no-cache");

$errFlg=false;
if ( $_POST["reg"] == "" ) $errFlg = true;

if ( !$errFlg ) {
if ( $_POST["Name"] == "" ) {
$errFlg = true;
$errStr["Name"] = "未入力";
}
}
if ( $errFlg ) {
?>
<html><body>
<form method="post" action="<?php $_SERVER["PHP_SELF"] ?>">
<?= $errStr["Name"] ?></td>
<input type="text" name="Name" value="<?php echo $_POST["Name"]; ?>">
<input type="submit" name="reg" value="登録"></td>
</form>
</body></html>
<?php
} else {
header("Location: next.php");
}
?>

A 回答 (2件)

LocationではPOSTデータは渡せません


セッションでやる方法もありますがそのプログラムなら
else {
header("Location: next.php");
}

else {
require "next.php";
}
にすればいいのではないでしょうか
    • good
    • 1
この回答へのお礼

php504さん 早速のご回答ありがとうございました.
シンプルな解決方法で,直ぐに飛びつきました.
早速ご教示のとおりに組み込んでみたのですが,

(1) $_POST["Name"];は渡ってくるのですが
 $_POST["reg"];(登録ボタンのvalue)が渡ってこないことと,

> else {
> require "next.php";
> }

の下に書いてある
$con = mysql_close($con); が
「Warning: mysql_close(): supplied argument is not a valid MySQL-Link resource ....」
などとエラーを吐いてしまいます(原因突き止められず)

引き続き調査しているところですが,
もし他に方法があったらよろしくお願い致します.

お礼日時:2007/01/30 11:22

入力チェックならば JavaScript で可能ですが...


検証していないがサンプルです。
// javascript
function check(){
 if (document.getElementById("Name").value == ""){
  documennt.getEleMentById("msg").innerHTML =
   "名前を入力してください";
  document.getElementById("Name").focus();
  return false;
 } else{
  documennt.getEleMentById("msg").innerHTML =
   "送信しました";
  document.getElementById("subm").disabled = true;
  return true;
}

// html
<form ... onSubmit="return check()">
<input id="Name" name="Name" ...>
<div id="msg"></div>
<input id="subm" type="submit" ...>
</form>
    • good
    • 0
この回答へのお礼

umotaさん,JSによるサンプルありがとうございました.
せっかくご教示いただいて申し訳ないですが,
諸事情で,今回はクライアント側でなくサーバー側で
入力チェックをかけたいと思っていますので,
PHPの基本構成はあまり変えずにいきたいと思っています.

もちろん,ご提示いただいたものはご提示いただいたものとして
活用させていただきます.

ありがとうございました.

お礼日時:2007/01/30 11:58

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