【问题标题】:$key=$_REQUEST['key'] doesnt work$key=$_REQUEST['key'] 不起作用
【发布时间】:2014-01-30 19:08:26
【问题描述】:
if (isset($_POST['cancel'])) {
    print("<script>location.href = 'task_led.php'</script>");
}
else if (isset($_POST['assign'])) {
    $atask = $_POST['task'];
    $table_task = $_POST['hid_task'];
    $key = $_REQUEST['key'];

    include 'sql.php';

    $SQL = " ALTER TABLE $table_task ADD $atask VARCHAR(255) NOT NULL";
    mysql_query($SQL);

    $SQL = "UPDATE info SET individ_task = '$atask' WHERE username = '$key'";
    mysql_query($SQL);


    $SQL = "INSERT INTO $table_task (`username`, $atask) VALUES ('$key',     'pending')";
    mysql_query($SQL);

    $SQL = "UPDATE info SET task_status_indi = 'pending' WHERE username = '$key'";
    mysql_query($SQL);

    mysql_close($db_handle);
    print("<script>location.href = 'task_led.php'</script>");
}
else{   

    $namekey = $_REQUEST['key'];
    $user = $_SESSION['username'];
    include 'sql.php';

    $SQL = "SELECT * FROM info WHERE username = '$user'";
    $result = mysql_query($SQL);
    while ($db_field = mysql_fetch_assoc($result)) {
        $grp = $db_field['groups'];//telephone_tech
        $tsk = $db_field['group_task'];//resolve_telephone
    }

    print("<div style='top:167; left:380; position:absolute; z-index:1;'>");
    print("<table border = '0' width = '370' bgcolor = 'white'>");
    print("<tr><td>$tsk</td></tr>");
    print("</table>");
    print("</div>");

    $SQL = "SELECT * FROM task_list WHERE taskname = '$tsk'";
    $result = mysql_query($SQL);
    while ($db_field = mysql_fetch_assoc($result)) {
        $dsc = $db_field['ds'];
    }

    print("<div style='top:200; left:250; position:absolute; z-index:1;'>");
    print("<font face='Broadway' size = '4'>Description:</font>");
    print("</div>");

    print("<div style='top:197; left:380; position:absolute; z-index:1;'>");
    print("<table border = '0' width = '370' bgcolor = 'white'>");
    print("<tr><td>$dsc</td></tr>");
    print("</table>");
    print("</div>");

    print("<div style='top:270; left:350; position:absolute; z-index:1;'>");
    print("<form name='add_form' method='post' action='add_task_led.php'>");
    print("<table border = '0' >");
    print("<tr><td><b>Name:</b></td>");
    print("<td><input name = 'uname' type = 'text' readonly = 'true' value = $namekey></td>");
    print("</tr>");
    print("<tr><td><b>Task:</b></td>");
    print("<td><input name = 'task' type = 'text' value = ''></td>");
    print("<input name = 'hid_task' type = 'hidden' value = $tsk>");
    print("</tr>"); 
    print("<tr>");
    print("<td align = 'right'><input name = 'reset' type = 'reset' value = 'reset'></td>");
    print("<td><input name = 'cancel' type = 'submit' value = 'cancel'>");
    print("<input name = 'assign' type = 'submit' value = 'ASSIGN'></td>");
    print("</tr>");
    print("</table>");
    print("</form>");
    print("</div>");
    mysql_close($db_handle);
}

我需要帮助,它应该从像nbproject/add_task_led.php?key=Marija 这样的 URL 获取密钥以将其放入 $key 变量中,但它似乎不起作用。当我将名称直接放入此示例 Marija 而不是 $key 时,它会更改数据库。我是不是做错了什么?

【问题讨论】:

  • 怎么不工作?你有错误吗?它说什么?你做了什么来调试这个?你试过$key = $_GET['key'];吗?
  • 应该给成员分配特定任务,分配时切换到task_led.php脚本。但是,当我单击分配时,它什么也不做(在数据库中添加任务但不分配名称)
  • 我认为 Krish 的意思是您的通话中是否真的有 ?key=Marija...
  • action='add_task_led.php?key=Marija' 将此添加到您的表单标签中或在隐藏方法&lt;input type="hidden" name="key" value="&lt;?php echo $_GET['key'];?&gt;"&gt; 中传递键值。即在提交表单时,您没有执行键值。这就是问题所在。
  • 我知道,但是 $key 实际上包含什么。在 $key = $_REQUEST['key']; 之后放置一个 var_dump($key)行。

标签: php mysql request key


【解决方案1】:

用于测试目的

您能否使用我认为成功的以下代码设置测试表

请务必更改这些变量以适合您自己,或创建它们,如下所示:

$table_task = "table_task"; // table name
$atask = "a_task"; // column name
$db_selected = mysql_select_db('db_name', $db); // db_name is your DB

HTML/PHP/SQL(表单动作设置为self)

<?php
if (!empty($_REQUEST['key'])) {
  $key = $_REQUEST['key'];
  echo "key: ". $key. "\n";

$db = mysql_connect("host","username", "password");

$db_selected = mysql_select_db('db_name', $db);
if (!$db_selected) {
    die ('Can\'t use it : ' . mysql_error());
}

$table_task = "table_task";
$atask = "a_task";

$SQL = "INSERT INTO $table_task (`username`, $atask) VALUES ('$key', 'pending')";
mysql_query($SQL,$db);

// Used for my own testing purposes that you can comment out
// $SQL = "UPDATE $table_task SET a_task = 'pending_test' WHERE username = '$key'";
// mysql_query($SQL,$db);

}
?>

<!DOCTYPE html>
<html>
<head>
<body>

<form action="" method="get">
User: <input type="text" name="key" /><br />
<input type="submit" value="Send" />
</form>

</body>
</html>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-12-06
    • 2021-08-17
    • 2022-12-01
    • 1970-01-01
    • 2020-07-20
    • 2018-04-07
    • 1970-01-01
    相关资源
    最近更新 更多