0

我正在从教程中逐字在我的数据库中运行这个 php 脚本,但是我在第 27 行(以 开头的位if ($_REQUEST['action'] == "add") {)上遇到了一个未定义的索引错误......我只是在学习 mysql,所以任何帮助都会摇滚!

<?php
/**
 * Copyright 2011 Robert Turrall - robertturrall.com
 *
 * Part of the video2brain course: Facebook Application Development: Learn by Video
 *
 * 
 */

$dbhost     = 'localhost';      // This is the hostname/address for your database. Usually 127.0.0.1 for local testing, or 'localhost' is good
$dbuser     = 'root';       // Login name to your database - anonymous is default for localhost MySQL
$dbpass     = '';               // Login password to your database - default for local MySQL is no password
$data       = 'test';           // Database name

$db = mysql_connect($dbhost, $dbuser, $dbpass);

if (mysql_errno() > 0) {
    if (mysql_errno() == 1203) {
        // 1203 == ER_TOO_MANY_USER_CONNECTIONS (mysqld_error.h)
        die("DB error");
    } else {
        // other error
        die("DB error");
    }
}

if ($_REQUEST['action'] == "add") {
    mysql_select_db($data, $db);
    $Insert = "INSERT INTO FB_birthdays (UID, birthday) VALUES ('".$_REQUEST['uid']."', '".$_REQUEST['birthday']."')";
    $res = mysql_query($Insert, $db) or die ("Save error");
    mysql_close($db);
    echo "Added to DB!";
}

?>


<form action="savedb.php" method="post">
                <input type="hidden" name="request" value="add">
                <input type="hidden" name="uid" value="<?php echo $user; ?>">
                <input type="hidden" name="birthday" value="<?php echo $birthday; ?>">     
                <input name="Submit" type="submit" value="Add me!">
            </form>
4

3 回答 3

1

Undefined index在那一行意味着数组$_REQUEST没有 key 'action'

你会想要这样的东西:

if (isset($_REQUEST['action']) && $_REQUEST['action'] == 'add') {

显然,这意味着您的其余代码将无法运行,因此发送请求的任何内容仍然存在问题。

于 2011-12-14T04:30:39.230 回答
0

$_POST["action"]如果您使用POST方法或GET$_GET["action"],则可以使用。

于 2011-12-14T04:32:56.797 回答
0

尝试使用

if(isset($_REQUEST['action']) && $_REQUEST['action'] == "add")
于 2011-12-14T04:33:21.850 回答