我正在尝试从HTML表单中访问一个值,但它没有正确导入。 我收到错误说明
未定义的符号$ numb
(我正在尝试将文字输入存储到 Intent intent=new Intent(this, AlarmService.class);
AlarmManager alarmManager = (AlarmManager)getSystemService(ALARM_SERVICE);
PendingIntent pendingIntent=PendingIntent.getBroadcast(this, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
// PendingIntent.getBroadcast(this, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.HOUR_OF_DAY, hour); // For 1 PM or 2 PM
calendar.set(Calendar.MINUTE, minute);
calendar.set(Calendar.SECOND, 0);
long cuurent=calendar.getTimeInMillis();
alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(),
AlarmManager.INTERVAL_DAY, pendingIntent);
)。
$numb
答案 0 :(得分:0)
您在表单中提到的任何输入元素都会以键值对的形式发布到服务器(在您的情况下为php)。如果输入标记的name属性成为键,则input元素的value标记将成为值。
<?php
if(isset($_POST['submit'])) // this will always return false. there is no input named submit in your form
{
$numb=$_POST['text']; //this will never get initialized, $numb will be always undefined
}
?>
这是检查
的正确方法<?php
if(isset($_POST['text']))
{
$numb=$_POST['text'];
}
?>
这应该有效
答案 1 :(得分:0)
我试过你的代码。问题从这里开始:
if (isset($_POST['submit'])) $numb=$_POST['text'];
如果未设置变量$_POST['submit']
,则不会初始化变量$numb
。因此,之后使用它(即if($numb<1)
语句)将导致Undefined variable: numb
。
与$flag
类似的问题。
如果没有提交表单,我认为没有理由运行打印文本。也许你应该像这样重写它:
<html>
<body>
<?php
if (isset($_REQUEST['text'])) {
$numb=$_REQUEST['text'];
$flag=0; // initialize $flag to prevent error
if($numb<1) {
echo "Number < 1";
} else if (100<$numb) {
echo "Number > 100";
} else if($numb==2) {
echo "Prime";
} else if($numb%2==0) {
echo "Not Prime";
} else {
for($count=3;$count<sqrt($numb);$count=$count+2) {
if($numb%$count==0) {
$flag=1;
break;
}
}
if($flag==1) {
echo "Not Prime";
} else {
echo "Prime";
}
}
}
?>
<form method="post" action="main.php">
<input type="text" name="text"> <input type="submit" value="Submit" name="submit">
</form>
</body>
</html>