2017-03-16 8 views
-3

URLに変数を送信しようとしているため、ページ間でアクセスできるようになりました。私はこの変数を自由にエコーして、それが実際には空白でないことを保証することができます。PHP - 変数に文字列を追加すると空白になる

変数$linkに追加しようとすると問題が発生します。その後、実際には何も追加されません。

さらに私には見知らぬことがあります。それは、私がそれを非常に同じように動作させると、現在のif文の外で、実際に動作します。それはif文の中に何も追加しません。

ここに問題のコードがあります。ページ

に何かを出力した後
if(!isset($_POST['viewbutton'])) 
{ 
    echo('viewbutton index not set inside POST array!'): 
} 
elseif(empty($_POST['viewbutton'])) 
{ 
    echo('viewbutton is set, but empty'); 
} 
else 
{ 
    header('location: view.php?username=' . $_POST['username']); 
} 
  1. $username = $_POST['username']; 
    echo "Current user: $username <br>"; //Works. Outputs value as expected. 
    
    $link = 'view.php?username=' . $username; //This also works. The username is appended 
    //successfully. 
    echo $link; 
    
    if(isset($_POST['viewbutton'])) 
    { 
        $link = 'view.php?username=' . $username; //Here, nothing is appended. 
        header('location: '.$link); 
    } 
    
    /* Output page elements. */ 
    $cmd = "./wpmlp options.wpml"; 
    exec($cmd, $output, $status); 
    foreach($output as $line) echo $line; 
    
+2

これは '$ _POST ['viewbutton']' **が** setされていないことを示唆しています。 '$ _POST'配列のvardumpを試してください。何があるのか​​を見てください –

+0

設定されています。私はリンクが動作するのでこれを知っています...つまり、私は "view.php?username ="にリダイレクトされています。 – moosefoot

+2

ページに何かを出力した後にヘッダーを送信できないため、何か他のものがあなたに送信しているに違いありません。これがあなたの実際のコードであれば、 'header()'メソッドは、あなたが何かをエコーし​​た後に置かれるので、とにかく動作しません。 –

答えて

0
は明らかにあなたの viewbuttonインデックスはあなたがヘッダを送信することはできません

  • あなた$_POST配列の内側に設定されていません

  • 関連する問題