将两个php变量从链接传递到另一个页面

将两个php变量从链接传递到另一个页面,php,Php,好的,我正在建立一个简单的问答网站,这是一个循环,以链接的形式输出前面提出的所有问题。我正在尝试将两个变量连接到下一个页面url,这样我就可以获取它们并在那里使用它们,但它只允许一个?我什么都试过了,但都没用?请参阅我的代码中唯一的注释部分,了解问题的症结所在。多谢各位 <?php $servername = "127.0.0.1"; $username = "dylan326"; $password = ""; $dbname = "questions87"; $port = 3306;

好的,我正在建立一个简单的问答网站,这是一个循环,以链接的形式输出前面提出的所有问题。我正在尝试将两个变量连接到下一个页面url,这样我就可以获取它们并在那里使用它们,但它只允许一个?我什么都试过了,但都没用?请参阅我的代码中唯一的注释部分,了解问题的症结所在。多谢各位

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

试试这个(假设
$username
有一个值):

echo(“
”);
Get请求可以传递多个变量,例如:
{host}?var1=val1&var2=val2&var2=val3

您可以回显包含get请求的链接:

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

将为您提供用户名的值。

看起来您正在执行HTTP GET so,而不是尝试压缩2个字符串,为什么不使用类似

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。

您可以通过添加
&
然后继续添加值来发送到变量

示例

example.php?one=value&second=value
totalqs.php?q_id=$q_id&username=$username
在您的情况下

example.php?one=value&second=value
totalqs.php?q_id=$q_id&username=$username

在echo语句中使用此代码。这会将第二个值
$username
与name
user
连接起来:

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

example.php?one=value&second=value
。注意
SQL注入
btw。这个特定脚本没有危险,但您设置它的方式似乎是开放的。使用
准备好的语句
!我认为他不希望传递3个变量,只传递2个。它展示了如何去做,这很好。但是他不想把问题转到下一页。是的,只有两页,但我想我明白你的意思,我会继续努力的。非常感谢。我测试了这一点$q_id=$_GET['q_id']$用户名=$\u获取[用户名];echo$q_id;echo$username;我仍然只知道如果你单独回显$username会发生什么?啊,这很有效。其他人也回答了同样的问题,但我会给你答案,因为我先尝试了这个没有用户名值的方法,它不起作用,但现在它有了意义。谢谢是的,我还在下一页上获取ID,但是谢谢你的帮助。当你点击这里的正确链接时,你的链接是什么样子的?您的用户名变量似乎为空。
$id = $_GET['q_id'];
$username = $_GET['user'];