2014-03-31 110 views
0

下面是将查询结果输入单选按钮的代码片段。然后,当用户按下表格中的一个按钮时,它将移动到页面test.php。我遇到了一个问题,尽管第二个代码(它在test.php上)似乎不起作用,尽管我看不到它不应该有的任何理由。任何想法都很棒。谢谢。PHP提交表单不起作用

<?php while($row = mysql_fetch_assoc($result)): ?> 
<tr> 
    <td><input type="radio" name="server" value="<?php echo $row['serverId']; ?>" /></td> 
    <td><?php echo $row['userName']; ?></td> 
    <td><?php echo $row['dateCreated']; ?></td> 
    <td><?php echo $row['serverName']; ?></td> 
    <td><?php echo $row['serverId']; ?></td> 
    <td><?php echo $row['publicDNS'] ?></td> 
    <td><?php echo $row['isRunning']; ?></td> 
</tr> 
<?php endwhile; ?> 
</table> 
<br> 
<?php endif; ?> 

<form method="post" name="server_information" id="server_information" action="test.php"> 
<input type="submit" name="server_stop" value="Stop Server"/> 
<input type="submit" name="server_terminate" value="Terminate Server"/> 
</form> 

</body> 
</html> 

第二码:

<?php 
if (isset($_POST['server_stop'])) { 
    echo "Server Stopped"; 
} 

if (isset($_POST['server_terminate'])) { 
    echo "Server Terminated" 
} 

?> 

回答

1

$_POST['submit']必须$_POST['server_stop']

<?php 
if (isset($_POST['server_stop'])) { 
    echo "Server Stopped"; 
} 

if (isset($_POST['server_terminate'])) { 
    echo "Server Terminated"; 
} 

?> 
+0

我更新了代码,但它仍然不显示echo语句中的内容。任何其他想法? – h3tr1ck

+0

我编辑了代码,再试一次。我更改'回声“服务器终止”'回声“服务器终止”;' – Companjo

+0

谢谢。我不能相信我错过了这个分号 – h3tr1ck

0

您的代码:

<?php 
if (isset($_POST['server_stop'])) { 
    echo "Server Stopped"; 
} 

if (isset($_POST['server_terminate'])) { 
    echo "Server Terminated" 
} 

?> 

这两个条件都满足的形式提交。如果你要区分之间其提交按钮被按下,你需要做一个隐藏的输入,并使用一些javascript:

<form method="post" name="server_information" id="server_information" action="test.php"> 
<input type="submit" name="server_stop" value="Stop Server" onclick="whatwasclicked(this);" /> 
<input type="submit" name="server_terminate" value="Terminate Server" onclick="whatwasclicked(this);" /> 
<input type="hidden" name="clicked" id="clicked" /> 
</form> 

您的JavaScript将是:

function whatwasclicked(c) { 
$("#clicked").val() = c.value; 
} 

现在在PHP端,你会检查$_POST['clicked'],看看哪个按钮被按下。

编辑: 请注意有jquery在这里使用...所以一定要加载该库。

0

如果你不希望在所有使用JavaScript,你只打算在表单提交的那些按钮,你也可以这样做:

<form method="post" name="server_information" id="server_information" action="test.php"> 
<input type="submit" name="clicked" value="Stop Server"/> 
</form> 
<form method="post" name="server_information" id="server_information" action="test.php"> 
<input type="submit" name="clicked" value="Terminate Server"/> 
</form> 

现在只要检查$_POST['clicked']和你会看到哪个按钮被按下。

0
if (isset($_POST['submit'])){ 
    $name =trim($_POST['name']); 
    if (empty($name)){ 
    echo "please input name";  
    } 
    else if (!preg_match("/^[a-zA-Z ]*$/",$name)){ 
    $namerr = "Only letters and white space allowed"; 
    } 
} 
+0

elseif(!preg_match(“/^[a-zA-Z] * $ /”,$ name)){0} {namerr =“只允许使用字母和空格”; } –