2012-05-24 250 views
2
<div class = 'buttons'> 
<button type="submit" class="regular" name="save"> 
     <img src="elephant.png" alt=""/> 
     Memory 
</button> 
</div> 

这是一个提交按钮提交按钮不提交

代码然而,当我尝试使用PHP验证表单,按钮似乎并没有被提交

<?php if(isset($_POST['save']) && $_POST['save']) 
{ 
$submit = $_POST['save']; 
echo "lol"; 
} 
else 
{ 
echo "lola"; 

} 
+3

定义的值,它 – noob

+0

你确定你不需要形式提交? –

+0

你应该将你的代码包含在

标签 – Vishal

回答

0

正如已经写过的,你的代码没有包装。虽然提交按钮作为按钮可能没有窗体工作,然后捕获_POST数据肯定没有。

而且,你的图像键式解决方案可能会更好,也许是这样的:

<style type="text/css"> 
    input[type="submit"] {background: url('elephant.png') right no-repeat; padding: 10px; padding-left: 30px; font-size: 14px; font-weight: bold;} /* or call this .regular */ 
</style> 
<? 
if ($_POST['save']) { // the trigger 
    echo '<h1>Cooking with fire now!</h1>'; 
} 
?> 
<form method="POST" action=""> 
    <div class="buttons"> 
     <input type="submit" name="save" value="Memory" class="regular" /> 
    </div> 
</form> 
  • 注意class = "buttons"与空间,是不正确的语法!
+3

如果表单尚未提交,将返回通知错误。 – animuson

+0

不在正常错误报告模式下,因为OP没有特定的错误报告级别,您的评论无关紧要。 –

+0

仅供参考:您需要在您的答案中跳过'

'标签,因为它不会以其他方式显示。 – MikeTheLiar

2

只提交按钮以形式工作。尝试将所有内容包装在form标记中,然后重试。

+0

我这样做已经仍然没有工作 – foshoeiyyy

+3

如果您做到了这一点,然后向我们展示代码。 –

+0

其印刷lola – foshoeiyyy

1

发布表单时,您的提交按钮没有任何值。 <button>元素不会发送其元素的内容作为其提交值。您仍然需要为该元素添加一个value属性,以便让拥有个提交的值。既然你不这样做,它发送一个空字符串,这是造成你的条件语句失败:

if(isset($_POST['save']) && $_POST['save']) 

由于$_POST['save']是空的,第二部分返回false,因此它关系到你的else块。

0
  • 您应该包括内<form method="post" action="path/to/your/php/processing/file"></form>标签代码
  • <input type="submit" class="regular" name="save" />
  • 替换按钮代码删除isset($_POST['save']) &&部分从如果因为你没有设置value为您的按钮的状态。
1

这里是你想要的代码:

<form name="myForm" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post"> 
<div class="buttons"> 
<button type="submit" class="regular" name="save" value="Save"> 
     <img src="elephant.png" alt="Elephant" /> 
     Memory 
</button> 
</div> 
</form>