Php重定向变量

时间:2013-08-26 05:02:13

标签: php

我正在尝试使用

  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的页面。我确实得到了页面重定向,但它没有将头部变量添加到重定向中。

6 个答案:

答案 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将输出这个变量的值。