undefined _post使用image作为提交

时间:2015-08-19 07:33:26

标签: php html forms

即时通讯使用表单从3张图片中选择发送帖子到php但$_POST['stars'];没有到达

<form action="components/update_score.php" method="POST">
    <input type="image" name="stars" src="imagenes/th/0.png" value="0" width="120" />
    <input type="image" name="stars" src="imagenes/th/1.png" value="1" width="120" />
    <input type="image" name="stars" src="imagenes/th/2.png" value="2" width="120" />
    <input type="image" name="stars" src="imagenes/th/3.png" value="3" width="120" />
    <input type="hidden" name="war_enemy" value="<?php echo $rws['war_enemy'];?>" />
    <input type="hidden" name="user_username" value="<?php echo $user_score;?>" />
    <input type="hidden" name="enemy_enemynumber" value="<?php echo $i;?>" />
</form>

并在php上

<?php
ini_set("display_errors",1);
session_start();
if(isset($_POST)){
   echo $_POST['stars'],'<br>';
   echo $_POST['war_enemy'],'<br>';
   echo $_POST['user_username'],'<br>';
   echo $_POST['enemy_enemynumber'],'<br>';
}    
?>   

发送这个给我通知:未定义索引:明星我不想使用提交按钮我想使用图像这样做,但无法找到发送帖子到PHP的方式任何帮助表示赞赏

3 个答案:

答案 0 :(得分:2)

你有3个同名的图像更改了他们的名字,或者你可以使用数组重命名星星作为星号[],你的代码将是这样的:

foreach ($_POST['stars'] as $star) {
    echo $star;
}

除了src之外,您需要在值处添加图像,并在使用输入时删除src。

答案 1 :(得分:0)

当您通过图像发布时,会发送单击的x / y坐标而不是输入的名称。

检查$_POST['stars_x']$_POST['stars_y']

答案 2 :(得分:0)

当您发出POST请求时,您必须以某种方式对构成请求正文的数据进行编码。

HTML表单提供了三种编码方法。

application/x-www-form-urlencoded (the default)
multipart/form-data
text/plain

您必须在表单中设置enctype

 enctype='multipart/form-data' 

multipart / form-data要复杂得多,但它允许整个文件包含在数据中。