Php可重复区域
所以我得到了这个代码,现在它正在重复所有的东西,我只是想让它重复回显,所以我从它那里得到所有的用户名,如果我保持原样,当我按下用户名时,它也会重复这个表单。每次我尝试调整它时,它都会给我语法错误Php可重复区域,php,Php,所以我得到了这个代码,现在它正在重复所有的东西,我只是想让它重复回显,所以我从它那里得到所有的用户名,如果我保持原样,当我按下用户名时,它也会重复这个表单。每次我尝试调整它时,它都会给我语法错误 <?php do { ?> <?php $username = $row_mensagens['username']; $user = $row_mensagens['id'];
<?php do { ?>
<?php
$username = $row_mensagens['username'];
$user = $row_mensagens['id'];
if(isset($_GET['user']) && !empty($_GET['user'])){
?>
<form>
Introduz mensagem : <br>
<textarea name='message' rows='7' cols='60'></textarea>
<br><br>
<input type='submit' value="Send Message" />
</form>
<?php
} else {
echo "<p><a href='mensagens.php?user=$user'>$username</a></p>";
}
?>
<?php } while ($row_mensagens = mysql_fetch_assoc($mensagens)); ?>
介绍策略:
即do{}while()
将始终重复来自数据库的记录数
您可以这样做:
<?php
if(isset($_GET['user']) && !empty($_GET['user'])){
?>
<form>
<input type="hidden" name="user" value="<?php echo $_GET['user']; ?>" /> <!-- hidden field so you can process to who -->
Introduz mensagem : <br>
<textarea name='message' rows='7' cols='60'></textarea>
<br>
<br>
<input type='submit' value="Send Message" />
</form>
<?php
} else {
do {
$username = $row_mensagens['username'];
$user = $row_mensagens['id'];
echo "<p><a href='mensagens.php?user=$user'>$username</a></p>";
} while ($row_mensagens = mysql_fetch_assoc($mensagens));
}
?>
移动do{
到else
中,并且仅当您有$\u GET['user']
我还为您添加了一个隐藏字段,以便您知道要向谁发送消息
希望你明白这是怎么回事
我还建议将该表单设置为post
表单,因为默认情况下它是get
表单,并且由于您有textarea
,如果消息太长,您更可能会遇到错误
LE:另一个建议是,尝试移动到PHP 5.5中被视为不推荐使用的或,并且有一些很好的机会被删除。因此,将
移动到循环之外,只保留需要重复的输出。