将值发送到php文件

时间:2013-01-27 22:21:54

标签: php

我尝试将值发送到PHP文件,但是当我检查时,该值变为null

我通过以下方式发送值:user_login.php?p_action = New_User

user_login.php的代码是:

require("include/session_inc.php");
require("include/user_handling_inc.php");
require("include/db_inc.php");

start_Session(false, false);

switch ($p_action) {
case 'Login': {
 $l_flag = verify_User($p_in_username, $p_in_password);
 if ($l_flag == "Not_Found") {
     $l_flag = "New_User";
 }
 break; 
}
case 'Save_Profile': {
$l_flag = "Save_Profile";
    break;
}
case 'New_User':
$l_flag = "New_User";
    break;
case 'Create_New_User':
$l_flag = "Create_New_User";
}

switch ($l_flag) {
    case 'New_User': {
    include "include/user_new_inc.php";
    break;
  }
case 'Save_Profile': {
    load_User_Data(" username = '$p_in_username' ", false);
    include "include/user_profile_save_inc.php";
    break;
  }
case 'Wrong_Password': 
    echo "Wrong Pass";
    break;
case 'OK': 
    load_User_Data(" username = '$p_in_username' ", true);
    store_User_Cookie($g_userdata->user_id);
    include "include/user_profile_inc.php";
    break;
case 'Create_New_User':
$l_user_id = create_New_User ($p_in_username, $p_in_email, 'Y');
    if ($l_user_id != -1) {
        store_User_Cookie($l_user_id);
        echo "Success !! <br><br> \n";
        echo "<a href\"/index.php\"> Back to Main </a>";
     }
break;
}

3 个答案:

答案 0 :(得分:1)

你需要像这个朋友一样制作代码

switch ($_GET["p_action"]) {
case 'Login': {
 $l_flag = verify_User($p_in_username, $p_in_password);
 if ($l_flag == "Not_Found") {
     $l_flag = "New_User";
 }

很好地为你提供了获取!!!的价值。

答案 1 :(得分:1)

首先您的代码不正确请阅读有关使用Switch here

的更多信息

第二个访问来自url的任何变量你可以使用全局变量$ _GET或$ _REQUEST

您可以从herehere

了解更多相关信息

这是修复后的代码,请尝试运行

  <?php
require("include/session_inc.php");
require("include/user_handling_inc.php");
require("include/db_inc.php");

start_Session(false, false);
$p_action=$_GET["p_action"];

switch ($p_action) {
case 'Login':
 $l_flag = verify_User($p_in_username, $p_in_password);
 if ($l_flag == "Not_Found") {
     $l_flag = "New_User";
}
 break; 

case 'Save_Profile': 
$l_flag = "Save_Profile";
    break;

case 'New_User':
$l_flag = "New_User";
    break;
case 'Create_New_User':
$l_flag = "Create_New_User";
 break;
}

switch ($l_flag) {
    case 'New_User': 
    include "include/user_new_inc.php";
    break;

case 'Save_Profile': 
    load_User_Data(" username = '$p_in_username' ", false);
    include "include/user_profile_save_inc.php";
    break;

case 'Wrong_Password': 
    echo "Wrong Pass";
    break;
case 'OK': 
    load_User_Data(" username = '$p_in_username' ", true);
    store_User_Cookie($g_userdata->user_id);
    include "include/user_profile_inc.php";
    break;
case 'Create_New_User':
$l_user_id = create_New_User ($p_in_username, $p_in_email, 'Y');
    if ($l_user_id != -1) {
        store_User_Cookie($l_user_id);
        echo "Success !! <br><br> \n";
        echo "<a href\"/index.php\"> Back to Main </a>";
     }
break;
 }
?>

答案 2 :(得分:0)

  

使用$_GET获取参数。

有时$_REQUEST更受欢迎,因为它同时访问了get&amp;发布数据。

第二件事永远不会信任用户输入,因此您必须使用addslashes();real_escape_string()功能来防止对系统的攻击。<​​/ p>

所以Code就是这样的:

$var = addslashes($_GET['p_action']);

switch($p) {
   case 'Login':
    $l_flag = verify_User($p_in_username, $p_in_password);
    if ($l_flag == "Not_Found") {
        $l_flag = "New_User";
    }
    break;

   "OTHER CASES HERE"
}
  

请注意:不要为CASE添加{}。读取switch的语法   here.