我正在尝试使用
header("Location: http://www.mysite.com/gamecode.php?gameid=$pw");
下面是我的代码。
<?php
header("Location: http://www.mysite.com/gamecode.php?gameid=$pw");
$con = mysqli_connect("localhost","placeholder","placeholder","placeholder");
//or die ('unable to connect');
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
//create random table name
$alpha = "abcdefghijklmnopqrstuvwxyz";
$numeric = "0123456789";
$special = ".-+=_,!@$#*%<>[]{}";
$chars = "";
if (isset($_POST['length'])){
// if you want a form like above
if (isset($_POST['alpha']) && $_POST['alpha'] == 'on')
$chars .= $alpha;
if (isset($_POST['alpha_upper']) && $_POST['alpha_upper'] == 'on')
$chars .= $alpha_upper;
if (isset($_POST['numeric']) && $_POST['numeric'] == 'on')
$chars .= $numeric;
if (isset($_POST['special']) && $_POST['special'] == 'on')
$chars .= $special;
$length = $_POST['length'];
}else{
// default [a-zA-Z0-9]{9}
$chars = $alpha . $numeric;
$length = 6;
}
$len = strlen($chars);
$pw = '';
for ($i=0;$i<$length;$i++)
$pw .= substr($chars, rand(0, $len-1), 1);
// the finished password
$pw = str_shuffle($pw);
//using the $pw variable for the table name
$sql="CREATE TABLE `" . $pw . "` (
PID INT NOT NULL AUTO_INCREMENT,
PRIMARY KEY(PID),
Name CHAR(15))";
if (mysqli_query($con,$sql))
{
echo "table was created";
}
else
{
echo "Did not create table";
}
mysqli_close($con);
上面是我试图将变量添加到URL的页面。我确实得到了页面重定向,但它没有将头部变量添加到重定向中。
答案 0 :(得分:7)
使用双引号而不是单引号,因此请更改为:
header("Location: http://www.yoursite.com/new_page.php?gameid=$gmid");
或
header('Location: http://www.yoursite.com/new_page.php?gameid='.$gmid);
双引号,将在产生最终输出之前评估变量值,单引号不会。
答案 1 :(得分:4)
试试这个:
header('Location: http://www.yoursite.com/new_page.php?gameid=' . $gmid);
答案 2 :(得分:4)
尝试
header('Location: http://www.yoursite.com/new_page.php?gameid='.$gmid);
您需要在变量之前更改引号,或者您也可以尝试使用double quotes
之类的
header("Location: http://www.yoursite.com/new_page.php?gameid=$gmid");
答案 3 :(得分:3)
将报价更改为双引号。
答案 4 :(得分:1)
header("Location: http://www.yoursite.com/new_page.php?gameid=$gmid");
请参阅引号.... "
而不是'
。
答案 5 :(得分:1)
引号和双引号有问题: 将您的行更改为:
header("Location: http://www.yoursite.com/new_page.php?gameid=$gmid");
或者这个:
header("Location: http://www.yoursite.com/new_page.php?gameid=".$gmid);
如果你'$variable'
,它将被解释为字符串和:
echo '$variable'
;将输出 $ variable 作为输出。
但是如果你使用“$ variable”,echo将输出这个变量的值。