1

これは私自身の学習目的のための単なるプロジェクトです。私のプロジェクトでは、ユーザーは投票を作成して回答することができます。各調査には独自のIDがあり、固有のURLからアクセスできます。

私の問題はこれです。私はこの方法でそれを回避できることを知っていますが、これは学習経験です。ユーザーがこのフォームを送信すると、次のようになります。

    <form name="createPoll" action="polls.php" method="post">
        Poll Title: <input name="pollTitle" type="text" /><br />
        Option 1: <input name="pollOption" type="text" /><br />
        Option 2: <input name="pollOption" type="text" /><br />
        <input type="submit" value ="Submit Poll" /><br />
    </form>

これをMySQLデータベースに追加するスクリプトを実行し、このスクリプトが生成するpollIDを次のようなURLに使用したいと思います。

    http://www.mydomainname.com/polls.php?pollID=12345

ここで、「12345」は投票の一意のIDです。私の質問はこれです:

フォームの送信時にユーザーをhttp://www.mydomainname.com/polls.php?pollID=12345(生成されたpollIDが「12345」であると想定)に誘導する最良の方法は何ですか?スクリプトが一意のpollIDを作成した後、ヘッダーをリダイレクトするには、phpでヘッダーを設定する必要がありますか?

ありがとう

4

2 に答える 2

1

URL を生成し、それを使用header()してページをリダイレクトします。

例えば:

$id = 12345;

$url = 'http://www.mydomainname.com/polls.php?pollID=' . $id;
header('Location: ' . $url);
于 2012-10-22T17:03:52.073 に答える
1

ところで、「pollOption」という名前の入力が 2 つあります。注意してください :)

あなたのINSERTコードはそのようなものかもしれません

$id=rand(100000,9999999999999999);
$checkid=mysql_query("SELECT ID FROM ID WHERE ID='$id'");
$checkidx=mysql_fetch_array($checkid);

if($_POST and $checkidx==null){
$title=$_POST['pollTitle'];
$opt1=$_POST['pollOption1'];
$opt2=$_POST['pollOption2'];
$insert=mysql_query("INSERT INTO ID,title,option1,option2 VALUES ('$id','$title','$opt1','$opt2')");
echo "Added! You re redirecting";
?>
<meta http-equiv="refresh" content="2;URL=http://www.mydomainname.com/polls.php?pollID=<?echo $id; ?>">

<?
}

そしてあなたの polls.php はそのようなものかもしれません。

$id=$_GET['id'];
if($id!=null){
$idget=mysql_query("SELECT * FROM blabla WHERE ID='$id'");
$idgetx=mysql_fetch_array($idget);

echo $idgetx[0] . $idgetx[1];
}
于 2012-10-22T17:08:54.277 に答える