Php重定向变量

I am trying to use

  header("Location: http://www.mysite.com/gamecode.php?gameid=$pw");

below is my code.

   <?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);

above is the page i am trying to add the variable to the URL. I do get the the page redirect however it is not adding the header variable to the redirect as it should.

Try like

header('Location: http://www.yoursite.com/new_page.php?gameid='.$gmid);

You need to change the quotes before the variable or You can also try with double quotes like

header("Location: http://www.yoursite.com/new_page.php?gameid=$gmid");

try this:

header('Location: http://www.yoursite.com/new_page.php?gameid=' . $gmid);

Change your quotes to double quotes.

use double quotes instead of single quote, so change to:

header("Location: http://www.yoursite.com/new_page.php?gameid=$gmid");

or

header('Location: http://www.yoursite.com/new_page.php?gameid='.$gmid);

Double quotes, will evaluate variable values before producing the final output, which single quote does not.

header("Location: http://www.yoursite.com/new_page.php?gameid=$gmid");

see the quotes.... " instead of '.

You have problem with quotes and double quotes: Change your line to this :

 header("Location: http://www.yoursite.com/new_page.php?gameid=$gmid");

or this:

 header("Location: http://www.yoursite.com/new_page.php?gameid=".$gmid);

If you do '$variable' , it will be interpreted as string and :

echo '$variable' ; will show $variable as output . But if you use "$variable" , echo will output value of this variable.