2017-07-09 22 views
0

私は簡単な質問/回答サイトを構築しています。これは以前リンクフォームで質問されたすべての質問を出力するループです。私は次のページのURLに2つの変数を連結しようとしているので、それらを取得してそこで作業することができますが、1つしか許可されません。私はすべてを試しましたが、動作しませんでしたか?問題の要点については、私のコードの唯一のコメントセクションを参照してください。ありがとうございました。リンクから別のページに2つのphp変数を渡す

<?php 
$servername = "127.0.0.1"; 
$username = "dylan326"; 
$password = ""; 
$dbname = "questions87"; 
$port = 3306; 


$conn = mysqli_connect($servername, $username, $password, $dbname, 
$port); 

if (!$conn) { 
die("Connection failed: " . mysqli_connect_error()); 
} 
echo "<a href='index.html'> Log out </a><br> 
<a href='ask.php'> Ask a question</a><br> 
<br /> 
<br />"; 

echo "Answer another users question: <br><br />"; 

$sql = "SELECT q_id,question, username FROM questions"; 

$result = mysqli_query($conn, $sql); 

if (mysqli_num_rows($result) > 0) { 

while($row = mysqli_fetch_array($result)) 
{ 

$q_id = $row['q_id']; 
$question = $row['question']; 
$username = $row['username']; 

//right here I need to add(concat) the second variable $username 
//I need to get both on the next page url but not allowing me to 

echo ('<a href="totalqs.php?q_id=' . $q_id .' " >' . $question . 
'</a>' . '<br>'); 
} 
} else { 
echo "0 results"; 
} 

mysqli_close($conn); 
?> 
+0

'example.php?1 =値&秒= [値]としてq_iduserにアクセスすることができます。 – Nytrix

+0

'SQL Injection' btwに注意してください。この特定のスクリプトには危険はありませんが、あなたが設定した方法は、あなたがそれを開いている可能性があります。 'prepared statements'を使ってください! – Nytrix

答えて

0

$usernameが値を持っていると仮定して)これを試してみてください:

echo ('<a href="totalqs.php?q_id=' . $q_id .' " >' . $question . " Username:" . $username . '</a>' . '<br>'); 
+0

私はこれをテストしました。 – do734

+0

$ q_id = $ _GET ['q_id']; $ username = $ _GET [username]; echo $ q_id; echo $ username; – do734

+0

と私はまだIDを取得しています – do734

0

要求は例えば複数の変数を渡すことができます取得:{host}?var1=val1&var2=val2&var2=val3

あなたがGETリクエストとのリンクをエコー可能性それ:

echo ('<a href="totalqs.php?q_id=' . $q_id .'&username='. $username .'" >' . $question .'</a>' . '<br>'); 

そして、$_GETを検索してtotalqs.phpにこれらの値を取得します。 Like:

$_GET['username'] 

あなたにはユーザー名の値が与えられます。

0

あなたがHTTP GETをやっているように見えますので、代わりに2つの文字列をCONCATしようとしているのは、なぜちょうど

totalqs.php?q_id=$q_id&question=$question&username=$username 

のようなものを持っていませ次にtotalqs.phpに、あなたは

ような何かをやります
$q_id = $_GET['q_id']; 
$question = $_GET['question']; 
$username = $_GET['username']; 

これは、totalqs.phpにアクセスできることを前提としています。

+0

私は彼が3つの変数を渡すことを望んでいないと思う、ちょうど2。それは良い方法を示しています。しかし、彼は質問が次のページに渡されることを望んでいません。 – Nytrix

+0

ちょうど2つですが、私はあなたが言っていることを理解していると思います。ありがとうございました! – do734

0

&を追加して値を追加して変数に送信できます。

example.php?one=value&second=value 

あなたの場合

totalqs.php?q_id=$q_id&username=$username 
0

あなたのecho文でこのコードを使用します。あなたのecho文に括弧を必要としない

echo '<a href="totalqs.php?q_id='.$q_id.'&user='.$username.'">'.$question.'</a><br />'; 

注:これは名前userであなたの第二の値$usernameを連結します。あなたはあなたの文字列を正しく連結する必要があります(あなたは連結についてもっと知る必要があります)。次のページでは、

$id = $_GET['q_id']; 
$username = $_GET['user']; 
+0

さて、私はまだ次のページでIDを取得していますが、助けてくれてありがとうございます。 – do734

+0

ここで修正したリンクをクリックすると、あなたのリンクはどのように見えますか?ユーザー名変数が空であるようです。 – Saral

関連する問題