【问题标题】:Dynamically appending data to the URL Query String while navigating between pages在页面之间导航时动态地将数据附加到 URL 查询字符串
【发布时间】:2012-10-22 16:59:46
【问题描述】:

这只是我自己学习目的的一个项目。对于我的项目,用户将能够创建投票并回答它们。每个调查都有自己的唯一 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 数据库并使用该脚本将为 URL 生成的 pollID,如下所示:

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

其中“12345”是投票的唯一 ID。我的问题是这样的:

在提交我的表单时,将用户带到http://www.mydomainname.com/polls.php?pollID=12345(假设生成的 pollID 为“12345”)的最佳方式是什么?一旦脚本创建了唯一的 pollID,我是否必须在 php 中设置标头才能重定向它们?

谢谢

【问题讨论】:

  • 最简单的方法是在提交之前生成 ID。 (即。生成 ID 并将其附加到您的表单操作)然后使用该 ID 在数据库中创建民意调查。否则,您必须使用标头重定向。

标签: php mysql url


【解决方案1】:

顺便说一句:有两个名为“pollOption”的输入,小心:)

您的 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];
}

【讨论】:

  • 感谢您的提示。我对此很草率。复制粘贴后忘记重命名字段。
【解决方案2】:

生成url,然后使用header()重定向页面。

例如:

$id = 12345;

$url = 'http://www.mydomainname.com/polls.php?pollID=' . $id;
header('Location: ' . $url);

【讨论】:

    猜你喜欢
    • 2018-03-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-19
    • 2011-10-27
    • 1970-01-01
    • 2013-07-20
    相关资源
    最近更新 更多