2016-05-29 6 views
0

私は別のウェブページで変数の値を取得しようとしています。 [Confirm]ボタンをクリックすると、ページはidの値を次のページに送信します。次のエラーが表示されます。他のページのデータを投稿する

Parse error: syntax error, unexpected ''" name = "user_id" >Confirm</' (T_CONSTANT_ENCAPSED_STRING), expecting ',' or ';' in C:\xampp\htdocs\home.php on line 57 

これはデータを送信しようとしているところです。

<body> 
<form action="database3.php" method="post" class="form" enctype="multipart/form-data"> 

<?php 
$r=$_GET['ch']; 
echo $r; 
echo '<div class="container"> 
<button type="submit" class="btn btn-success" value="'.$r'" name = "user_id" >Confirm</button> 
</div>'; 

?> 

私はdatabase3.php内のデータをフェッチしようとしているところです -

私は確認する必要がありますどのような変更
<?php 

extract($_POST); 
    $id=$_POST["user_id"]; 
    echo $id; 

    ?> 

を?

+0

'echo $ r;';あなたがそこで仕上げて、そしてhtmlパーツで何かをしようとしていることを意味します。そこに別の "エコー"を追加してください。 – LordNeo

+0

@LordNeo私が掲示している間、エコーは消されているに違いない。私はコードを編集しました。親切に見てください。 – TeeKay

+0

@Arkwoskyのドットフィックスもチェックし、ログのその他のエラーを確認してください。 – LordNeo

答えて

1

こののでextract関数の使用:配列から現​​在のシンボルテーブルに

インポート変数。 Ref

あなたは代わりに実行する必要があります。

<?php 
    extract($_POST); 
    echo $user_id; 
?> 

を更新

$_POST変数からすべての変数は、例えば、変数にマッピングすることとしている。

$var_array = array("color" => "blue", "size" => "medium"); 
extract($var_array); 

2つの新しい変数を作成します。

$color; // blue 
$size; // medium 

は、だからあなたの場合には$_POSTは、それがどの次の次のコードにした後使用することができますよりも、変数$user_idを作成$_POST['user_id']を持っています。

また、あなたが行うことができたときにPHPHTMLをミックスする必要はありません。

<?php $r = $_GET['ch']; ?> 
<div class="container"> 
    <button type="submit" class="btn btn-success" value="<?php echo $r; ?>" name="user_id" > 
    Confirm 
    </button> 
</div> 

アップデート2

あなたがするために.が欠落しているHTML上にあるような問題が見えますそれに応じて連結してください:

<?php 
$r=$_GET['ch']; 
echo $r; 
echo '<div class="container"> 
<button type="submit" class="btn btn-success" value="'.$r.'" name=  "user_id" > 
Confirm</button> 
</div>'; 
    ?> 

文字列次のように単一引用符の内側にSと変数は次のとおりです。

$variable_name = 'Hi!'; 
echo 'The value of a variable is: ' . $variable_name . ' So that was'; 

は、代わりに私がHTMLphpの混在を避けるために、私の例で述べたようにこの問題を回避するためのより良い方法があります。また、物事をより表現豊かになりsprintfまたはprintfのような機能があります。代わりにこのコードの

$variable_name = 'Hi!'; 
printf('The value of a variable is: %s So that was', $variable_name'); 
+0

それは動作しませんでした。また、後でコードで使用できるように、変数に値を格納したいと思います。 – TeeKay

+0

+1はエラーの原因ではないにもかかわらず、抽出に関する問題を説明しています。後のエラーをリファクタで修正したにもかかわらず、おそらく誤った理由が説明されていたはずです。 –

+0

問題の説明で更新されました。 –

1

value="'.$r'" 

は、このようなコードする必要があります:

value="'.$r.'" 

あなたが見逃しています変数$ rの後に点をつけます。

関連する問題