Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将PHP文件中的HTML表单数据传递给其他3个PHP文件之一_Javascript_Php_Html - Fatal编程技术网

Javascript 将PHP文件中的HTML表单数据传递给其他3个PHP文件之一

Javascript 将PHP文件中的HTML表单数据传递给其他3个PHP文件之一,javascript,php,html,Javascript,Php,Html,我正在建立一个带有简单登录界面的网站。用户可以使用1个表单作为3种不同用户类型(A、B和C)之一登录。表单中用于处理此问题的代码是: <input type="radio" name="user_type" value="a" id="a"> <label for="a">A</label> <input type="radio" n

我正在建立一个带有简单登录界面的网站。用户可以使用1个表单作为3种不同用户类型(A、B和C)之一登录。表单中用于处理此问题的代码是:

                    <input type="radio" name="user_type" value="a" id="a">
                    <label for="a">A</label>

                    <input type="radio" name="user_type" value="b" id="b">
                    <label for="b">B</label>

                    <input type="radio" name="user_type" value="c" id="c">
                    <label for="c">C</label>

A.
B
C
根据用户类型,登录页面应在单击表单提交按钮时将用户重定向到三个PHP文件之一。我知道在PHP中你可以使用

<form method="post" action="otherFile.php"> 

在登录页面中,指向另一个文件。和使用

<?php
if(isset($_POST['submit']))
{
    $firstname = $_POST['firstname'];
    $lastname = $_POST['lastname'];
    echo $firstname . "<br/>";
    echo $lastname;
}
?> 

在otherFile.php中检索表单数据。但我想对三个PHP文件中的一个执行此操作,具体取决于用户选择的用户类型,以及

<form method="post" action="otherFile.php|otherFile2.php|otherFile3.php">


显然不起作用

我不确定这是否是您想要的,但您可以创建一个php,如果是一个值,则使用include或require函数来要求它

例如,processor.php

    <? 
$user_type = $_POST["user_type"];
switch($user_type) {
    case "a":
        require_once 'otherFile.php';
        break;
    case "b":
        require_once 'otherFile2.php';
        break;
    case "c":
        require_once 'otherFile3.php';
        break;
    default:
        die("Not allowed");
        break;
}
?>

您可以使用
$\u SESSION
存储数据,以便在站点的其他区域使用

要简化它,您可以执行以下操作:

session_start();
$_SESSION['firstname'] = $_POST['firstname']; // store firstname, lastname as sessions
$_SESSION['lastname'] = $_POST['lastname']; 
然后,在另一个页面中,您可以调用这些会话来输出:

$firstname = $_SESSION['firstname'];
print("$firstname"); // will print the first name.
我希望这有帮助:)

编辑:在创建一个
$\u会话
并尝试将其打印到另一个页面之前,请创建一个core.php页面,并
将其同时包含在page1.phppage2.php

core.php脚本中,您需要启动一个会话,如下所示:

session_start();
core.php文件包含到两个页面中后,请再次尝试打印所需的
$\u SESSION
变量。

使用javascript:

<script src="https://code.jquery.com/jquery-1.11.3.js"></script>
<script type="text/javascript">
jQuery("#myForm").submit(function( event ) {
    var radio = jQuery('input[name=user_type]:checked', this).val();
    if(radio == 'a')
        this.action = 'otherFile.php';
    else if(radio == 'b')
        this.action = 'otherFile2.php';
    else if(radio == 'c')
        this.action = 'otherFile3.php';
    else
        return false;
});
</script>

jQuery(“#myForm”).submit(函数(事件){
var radio=jQuery('input[name=user_type]:checked',this.val();
如果(收音机=='a')
this.action='otherFile.php';
else if(收音机==“b”)
this.action='otherFile2.php';
else if(收音机=='c')
this.action='otherFile3.php';
其他的
返回false;
});
您可以填写:

<form method="post" action="" id="myForm">
    <input type="radio" name="user_type" value="a" id="a">
    <label for="a">A</label>

    <input type="radio" name="user_type" value="b" id="b">
    <label for="b">B</label>

    <input type="radio" name="user_type" value="c" id="c">
    <label for="c">C</label>

    <input type="submit" value="Submit">
</form>

A.
B
C

您可以使用会话来存储数据,以便以后在其他地方使用。@Caelan我的代码顶部有这个:但我不确定如何使用它来保存数据以供以后使用。请参阅答案:)@jvnnaI我想这正是我想要做的。Thanks@jvnna如果这对你有用,请考虑选择正确和/或投票:我仍然有问题。我在login.php中有
,在user_type1.php中有
,但当我运行代码时,它不会在user_type1.php上打印任何内容。您是否记得
会话_start()在新页面上?我没有,但我只是添加了它。更新时它仍然不会打印任何内容,但我还想保存登录页面中的文本/广播/下拉表单条目,并将它们带到其他页面。我不熟悉JS/jQuery,但我认为您的代码不会这样做