我想做以下事情。我输入值并点击提交。如果该值超出范围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);}
?>
答案 0 :(得分:4)
尝试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>
答案 1 :(得分:3)
除非第一个代码示例也来自skinid.php,否则在HTML表单中,您的$_POST['skinid']
为空,因此在skinid.php中,您的$_SESSION['skinid']
也将为空。
相反,在skinid.php中使用:
$newskinid = $_POST['skinid'];