我通过PHP在textarea内容POST中遇到问题。我有一个表单,在textarea和其他单选按钮中提交两个值。虽然提交了单选按钮值,但textarea值显示为空。
为什么会这样?任何建议将不胜感激..
我的HTML代码片段
<form action="" method="post" id="register_form">
<h2><img class="small_image" src="images/rsz_heart.png">Describe
Yourself<img class="small_image" src="images/heart.png"></h2>
<table id="register_table">
<tr>
<td>Describe Yourself</td>
<td>
<textarea id="description" type="textarea" name="description" rows="5"
cols="40" class="textbox" form="register_form" required>type</textarea>
</td>
</tr>
<tr>
<td>Any disability</td>
<td>
<input type="radio" name="disability" value="none" selected="selected">None
<input type="radio" name="disability" value="physicaldisability">Physical
Disability
</td>
</tr>
<tr>
<td colspan=2>
<input type="submit" name="submit" value="Submit" class="button" >
</td>
</tr>
</table>
</form>
我的PHP代码是
if(isset($_REQUEST["submit"]))
{
$description = $_POST["description"];
$disability = $_POST["disability"];
$email = $_GET["email"];
$sql = "update Registration_members set Description_self='$description',
Disability='$disability' where Email='$email'";
$res = mysql_query($sql);
if($res)
{
?>
<script>
alert("You have registered successfully!!");
</script>
<?
echo $description." is description";
echo $disability." is disability";
}
}
?>
在输出中写入
is description
none is disability
答案 0 :(得分:1)
对代码进行一些编辑可能会解决您的问题:
1)始终使用<?php
作为启动PHP标记。您在代码中的某个位置仅使用<?
。改变它。
2)将isset($_REQUEST["submit"])
更改为isset($_POST["submit"])
3)从type="textarea"
<textarea>
4)打开和关闭PHP标签时要小心。在您的情况下,您在if(isset($_REQUEST["submit"])) {
之后关闭了PHP标记,这是错误的。
答案 1 :(得分:0)
你太早关闭php标签了。
答案 2 :(得分:0)
您需要一个开放的<?php
标记,否则您的代码将不会被解释为PHP。
在问题的原始版本中,在第三行,您有?>
。这将关闭PHP块并意味着下一块代码被视为纯HTML。所以,它从未被评估过。删除该行。
在该注释中,稍后在代码中,您应该使用<?php
而不是<?
来启动新的PHP代码块。
另外,请don't use mysql_*
; mysql_*
函数已过时,deprecated且不安全。请改用MySQLi
或PDO
。最重要的是,您对SQL injection持开放态度。
答案 3 :(得分:0)
替换
<textarea id="description" type="textarea" name="description" rows="5"
cols="40" class="textbox" form="register_form" required>type</textarea>
通过
<textarea id="description" name="description" rows="5"
cols="40" class="textbox" form="register_form" required></textarea>
型=&#34; textarea的&#34;错误,也请使用$_POST
代替$_REQUEST["submit"]