php如何确保重新加载页面,并将echo更新为新值
我的网站的用户可以订阅他们的一些动物参加比赛。 我的代码工作得很好,但有一个大问题。当用户按下subscribe时,页面将重新加载,但由于isset位于按钮本身的回声之后,因此需要在按钮文本变为“subscribed”之前刷新页面。 正如您可能看到的,更改顺序会产生问题。 谁能帮我?我自己也别无选择。(我翻译了变量等)php如何确保重新加载页面,并将echo更新为新值,php,phpmyadmin,Php,Phpmyadmin,我的网站的用户可以订阅他们的一些动物参加比赛。 我的代码工作得很好,但有一个大问题。当用户按下subscribe时,页面将重新加载,但由于isset位于按钮本身的回声之后,因此需要在按钮文本变为“subscribed”之前刷新页面。 正如您可能看到的,更改顺序会产生问题。 谁能帮我?我自己也别无选择。(我翻译了变量等) 我认为你必须使用输出缓冲。将ob_start()放在页面的开头,现在输出任何占位符,而不是真正的输入代码: [SUMBIT] 而不是: <input type='sub
我认为你必须使用输出缓冲。将ob_start()放在页面的开头,现在输出任何占位符,而不是真正的输入代码:
[SUMBIT]
而不是:
<input type='submit' ....
并用正确的代码替换提交按钮:
$content = str_replace('[SUBMIT]', 'Your actual submit button code here...', $content);
现在输出内容:
echo $content;
快速修复可以是javascript
echo '<span id="someid" >Subscribe</span>';
echo“订阅”;
换衣服的时候呢
echo "<script>document.getElementById('someid').innerHTML = 'Subscribed';</script>";
echo“document.getElementById('someid')。innerHTML='Subscribed';”;
今后我强烈建议您使用您可以在页面上方使用您的邮政编码,然后加载您的页面。。。。
请使用如下代码:
<?php
if (isset($_POST['btnSubscribe1'])){
$sqlCheck = "SELECT * FROM Competitionresults WHERE AnimalID='".$Animals[0]."'";
$resultCheck = mysql_query($sqlCheck);
if (mysql_num_rows($resultCheck) == 0){
$sql1 = "INSERT INTO Competitionresuls (AnimalID, username) VALUES ('".$Animals[0]."','".$Username[0]."')";
mysql_query($sql1);
header('Location: samefilename.php');
die;
}
}
?>
<form action="" method="post" name="frmSubscribe">
<?php
$Counter = 0;
$sql = "Select * from Animals where username='".$_SESSION['User']."' ";
$result = mysql_query($sql);
while($row=mysql_fetch_array($result)){
echo $row['Animalname'];
$Duiven[] = $row['AnimalID'];
$Username[] = $row['username'];
?>
<input type='submit' <?php echo "name= ".$Buttons[$Counter].""; ?> value='<?php
$sqlSubscribed = "SELECT * FROM Competitionresults WHERE AnimalID='".$Animals[$Counter]."'";
$resultSubscribed = mysql_query($sqlSubscribed);
if(mysql_num_rows($resultSubscribed) == 0){ echo "Subscribe";}
else {echo "deregister";}
?>'><br/><?php
$Teller++;
}
}
最简单的解决方案是将isset
移动到顶部。只是想让你知道,在处理视图之后,动作应该始终是你处理的第一件事
<form action="" method="post" name="frmSubscribe">
<?php
if (isset($_POST['btnSubscribe1'])){
$sqlCheck = "SELECT * FROM Competitionresults WHERE AnimalID='".key($_GET)."'";
$resultCheck = mysql_query($sqlCheck);
if (mysql_num_rows($resultCheck) == 0){
$sql1 = "INSERT INTO Competitionresuls (AnimalID, username) VALUES ('".key($_GET)."','".$_SESSION['User']."')";
$result1 = mysql_query($sql1);
$row=mysql_fetch_array($result1);
}
}
$Counter = 0;
$sql = "Select * from Animals where username='".$_SESSION['User']."' ";
$result = mysql_query($sql);
while($row=mysql_fetch_array($result)){
echo $row['Animalname'];
$Duiven[] = $row['AnimalID'];
$Username[] = $row['username'];
?>
<input type='submit' <?php echo "name= ".$Buttons[$Counter].""; ?> value='<?php
$sqlSubscribed = "SELECT * FROM Competitionresults WHERE AnimalID='".$Animals[$Counter]."'";
$resultSubscribed = mysql_query($sqlSubscribed);
if(mysql_num_rows($resultSubscribed) == 0){ echo "Subscribe";}
else {echo "deregister";}
?>'><br/><?php
$Teller++;
}
+“我的代码工作得很好,但有一个大问题”啊,好吗?请不要发表无用的评论。问题不是代码不起作用,而是它没有立即显示代码已实现的功能。不,现在重定向没有用,因为您在执行操作后立即加载animalws。这将不起作用,因为isset的信息是在之后设置的,如果这么简单的话,我自己也会找到:)有什么问题吗?我看不出来,当你把它放在上面时,它会向服务器发送空值,这就是问题:pim担心你把代码弄得一团糟:)让我编辑它顺便说一句,Duiven不是英语。。。它的鸽子;)
<?php
if (isset($_POST['btnSubscribe1'])){
$sqlCheck = "SELECT * FROM Competitionresults WHERE AnimalID='".$Animals[0]."'";
$resultCheck = mysql_query($sqlCheck);
if (mysql_num_rows($resultCheck) == 0){
$sql1 = "INSERT INTO Competitionresuls (AnimalID, username) VALUES ('".$Animals[0]."','".$Username[0]."')";
mysql_query($sql1);
header('Location: samefilename.php');
die;
}
}
?>
<form action="" method="post" name="frmSubscribe">
<?php
$Counter = 0;
$sql = "Select * from Animals where username='".$_SESSION['User']."' ";
$result = mysql_query($sql);
while($row=mysql_fetch_array($result)){
echo $row['Animalname'];
$Duiven[] = $row['AnimalID'];
$Username[] = $row['username'];
?>
<input type='submit' <?php echo "name= ".$Buttons[$Counter].""; ?> value='<?php
$sqlSubscribed = "SELECT * FROM Competitionresults WHERE AnimalID='".$Animals[$Counter]."'";
$resultSubscribed = mysql_query($sqlSubscribed);
if(mysql_num_rows($resultSubscribed) == 0){ echo "Subscribe";}
else {echo "deregister";}
?>'><br/><?php
$Teller++;
}
}
<form action="" method="post" name="frmSubscribe">
<?php
if (isset($_POST['btnSubscribe1'])){
$sqlCheck = "SELECT * FROM Competitionresults WHERE AnimalID='".key($_GET)."'";
$resultCheck = mysql_query($sqlCheck);
if (mysql_num_rows($resultCheck) == 0){
$sql1 = "INSERT INTO Competitionresuls (AnimalID, username) VALUES ('".key($_GET)."','".$_SESSION['User']."')";
$result1 = mysql_query($sql1);
$row=mysql_fetch_array($result1);
}
}
$Counter = 0;
$sql = "Select * from Animals where username='".$_SESSION['User']."' ";
$result = mysql_query($sql);
while($row=mysql_fetch_array($result)){
echo $row['Animalname'];
$Duiven[] = $row['AnimalID'];
$Username[] = $row['username'];
?>
<input type='submit' <?php echo "name= ".$Buttons[$Counter].""; ?> value='<?php
$sqlSubscribed = "SELECT * FROM Competitionresults WHERE AnimalID='".$Animals[$Counter]."'";
$resultSubscribed = mysql_query($sqlSubscribed);
if(mysql_num_rows($resultSubscribed) == 0){ echo "Subscribe";}
else {echo "deregister";}
?>'><br/><?php
$Teller++;
}