Php 无法制作表单。

Php 无法制作表单。,php,html,mysql,Php,Html,Mysql,我想做以下几件事。我输入值并单击提交。如果值超出范围0和299,请将文本“blabla”保存到变量$error中。如果值在0到299之间,则将值更新到MySQL表中(row-SkinID); 这就是我尝试过但没有成功的地方。 这是我的HTML表单: <form action="skinid.php" method="POST"> <!--<fieldset class="textarea-field">

我想做以下几件事。我输入值并单击提交。如果值超出范围0和299,请将文本“blabla”保存到变量$error中。如果值在0到299之间,则将值更新到MySQL表中(row-SkinID); 这就是我尝试过但没有成功的地方。 这是我的HTML表单:

<form action="skinid.php" method="POST">
                            <!--<fieldset class="textarea-field">
                                <textarea title="Message">Message</textarea>
                            </fieldset>-->
<br>
                            <fieldset>
                                <span class="ico user-ico"></span>
                                <input name="skinid" onkeypress="return isNumberKey(event)" type="text" class="field" value="Enter new Skin ID. (-2000$)" title="Enter new Skin ID. (-2000$)" />
                            </fieldset>
                            <center><input type="submit" class="submit btn blue-btn" value="Update" /></center>
                        </form>
  <?php $_SESSION['skinid'] = $_POST['skinid']; ?>


这是skinid.php文件:

<?php
session_start();
$newskinid = $_SESSION['skinid'];
if($newskinid < '0' || $newskinid > '299'){$error = 'The Skin ID must be in the range of 0 and 299.';}
else {
$con=mysqli_connect("localhost","USERNAME","PASSWORD","DB-NAME");
// Check connection
if (mysqli_connect_errno())
  {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
  }
mysqli_query($con,"UPDATE users SET SkinID=$newskinid
WHERE Username='$_SESSION[user]'");
mysqli_close($con);}
?>

除非第一个代码示例也来自skinid.php,否则在HTML表单中,您的
$\u POST['skinid']
为空,因此在skinid.php中,您的
$\u会话['skinid']
也将为空

相反,在skinid.php中使用:
$newskinid=$\u POST['skinid']

除非第一个代码示例也来自skinid.php,否则在HTML表单中,您的
$\u POST['skinid']
为空,因此在skinid.php中,您的
$\u会话['skinid']
也将为空

相反,在skinid.php中使用:
$newskinid=$\u POST['skinid']

试试skinid.php:

<?php
session_start();
$_SESSION['skinid'] = $_POST['skinid']; 
$newskinid = $_SESSION['skinid'];
if($newskinid < '0' || $newskinid > '299') {
    echo 'The Skin ID must be in the range of 0 and 299.';
}
else {
    echo 'dhgj';
}
?>
<form method="post">

<br>
<fieldset>
    <span class="ico user-ico"></span>
    <input name="skinid" onkeypress="return isNumberKey(event)" type="text" class="field" value="Enter new Skin ID. (-2000$)" title="Enter new Skin ID. (-2000$)" />
</fieldset>
<center><input type="submit" class="submit btn blue-btn" value="Update" /></center>
</form>


试试skinid.php:

<?php
session_start();
$_SESSION['skinid'] = $_POST['skinid']; 
$newskinid = $_SESSION['skinid'];
if($newskinid < '0' || $newskinid > '299') {
    echo 'The Skin ID must be in the range of 0 and 299.';
}
else {
    echo 'dhgj';
}
?>
<form method="post">

<br>
<fieldset>
    <span class="ico user-ico"></span>
    <input name="skinid" onkeypress="return isNumberKey(event)" type="text" class="field" value="Enter new Skin ID. (-2000$)" title="Enter new Skin ID. (-2000$)" />
</fieldset>
<center><input type="submit" class="submit btn blue-btn" value="Update" /></center>
</form>



skinid.php中使用
$\u POST['skinid']
而不是
$\u SESSION['skinid']
那么什么不起作用呢?php响应是否正确,数据库是否没有执行您想要的操作?php$_会话['skinid']=$_POST['skinid'];那它不起作用呢?您是否收到MySQL错误或“皮肤ID必须在0到299之间。”?友好提示-您不应该在不清理用户输入的情况下通过连接字符串来生成SQL查询。@NicholasPickering erm。。。。使用
$\u POST['skinid']
而不是
skinid.php中的
$\u SESSION['skinid']
,那么什么不起作用呢?php响应是否正确,数据库是否没有执行您想要的操作?php$_会话['skinid']=$_POST['skinid'];那它不起作用呢?您是否收到MySQL错误或“皮肤ID必须在0到299之间。”?友好提示-您不应该在不清理用户输入的情况下通过连接字符串来生成SQL查询。@NicholasPickering erm。。。。他没有在上面连接。我的表是MySQL,不是MySQLi,这会有问题吗?没有
MySQLi
table类型的东西。我的表是MySQL,不是MySQLi,这可能是个问题吗?没有
mysqli
表类型的东西。你应该提到上面的html代码仅对html5有效。你应该提到上面的html代码仅对html5有效。