我看到有一个问题:PHP Pass variable to next page
但它对我不起作用。
我想将$ variable解析为另一个php文件,它必须在一个href属性中。
我有一个“while”,当用户点击链接时,我必须将当前值存储在变量中以将其解析为另一个文件。
我已尝试使用sessions变量,但在我的情况下,我有一个包含大量行的查询,并且我有一个变量用于放置数据。因此,对于每一行,用户都会看到一个链接。当他点击时,我必须将变量解析为另一个php文件。
以防万一,我留下了代码
<div class="container">
<!-- Obtengo datos -->
<?php
$conexion=mysql_connect('localhost','root','root') or die('No hay conexión a la base de datos');
$db=mysql_select_db('carpe',$conexion)or die('no existe la base de datos.');
$id= $_SESSION['id'];
$consulta=mysql_query("select * from(select * from messages m where 1> (select count(*) from messages m1 where m.id<m1.id and m.idm=m1.idm))c
where id_from='".$id."' or id_to='".$id."'");
while($filas=mysql_fetch_array($consulta)){
$idm=$filas['idm'];
$id=$filas['id'];
$id_to=$filas['id_to'];
$id_from=$filas['id_from'];
$status=$filas['status'];
$text=$filas['text'];
$time=$filas['time'];
$consulta2=mysql_query("select * from users where id='".$id_from."'");
while($filas2=mysql_fetch_array($consulta2)){
$Nombre_enviador=$filas2['username'];
}
$consulta3=mysql_query("select * from users where id='".$id_to."'");
while($filas3=mysql_fetch_array($consulta3)){
$Nombre_receptor=$filas3['username'];
}
$username= $_SESSION['username'];
$_SESSION['idm'] = $idm;
echo "mensaje id: ".$idm;
?>
<div class="maincontent">
<h3><a href="#">Asunto: <?php echo $idm?></a></h3>
<span class="postInfo">Enviado por:
<?php
if($Nombre_enviador==$username){
?> <a href="#">Ti</a>
<?php
}else{
?><a href="#"><?php echo $Nombre_enviador ?></a>
<?php } ?>
A
<?php
if($Nombre_receptor==$username){
?> <a href="#">Ti</a>
<?php
}else{
?><a href="#"><?php echo $Nombre_receptor ?></a>
<?php } ?>
- <?php echo $time ?></span>
<p><?php echo $text ?></p>
<a class="more" href="conversacion.php?a=register">Responder</a>
<?php
if(isset($_GET['a']) /*you can validate the link here*/){
$_SESSION['link']=$_GET['a'];
}
?>
<hr>
<?php } ?>
<hr>
</div>
我希望你理解它,非常感谢你!
答案 0 :(得分:0)
根据您的代码和您的问题,我不是100%确定您要做的事情,但我注意到的一件事似乎是一个很好的赛道:
<a class="more" href="conversacion.php?a=register">Responder</a>
<?php
if(isset($_GET['a']) /*you can validate the link here*/){
$_SESSION['link']=$_GET['a'];
}
?>
上面的代码创建了一个目标为conversacion.php
的超链接。此外,您的链接还提供了一条额外的信息,在这种情况下,这是一个标记为a
的变量,其值为register
。您在该链接下面的PHP代码会尝试检查您是否提供了基于链接的GET方法变量,这将是变量a
。使用$_GET
将尝试访问已通过GET方法传递给当前URL的任何变量,在这种情况下,这就像附加查询字符串一样简单。
我不希望这个答案能够完全解决您的问题,因为坦率地说,我不太清楚问题是什么,因为您提供的代码应该能够处理您的请求(至少是技术方面的问题)适当地应用)。希望上述情况有所帮助。