Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/260.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/87.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
PHP会话数组副本_Php_Jquery_Mysql_Html_Pdo - Fatal编程技术网

PHP会话数组副本

PHP会话数组副本,php,jquery,mysql,html,pdo,Php,Jquery,Mysql,Html,Pdo,我有两页。第1页用于用户数据输入,第2页类似于排序确认。我有一个名为insert.php的php文件,它的唯一任务是使用第1页的数据将数据插入mysql表。因此,在第2页,我将包含第1页中所有数据的$u POST数组复制到一个会话中。这是: <script> $(document).ready(function(e) { $("#PaySubmit").click(function() { alert("done"); $.ajax({

我有两页。第1页用于用户数据输入,第2页类似于排序确认。我有一个名为insert.php的php文件,它的唯一任务是使用第1页的数据将数据插入mysql表。因此,在第2页,我将包含第1页中所有数据的$u POST数组复制到一个会话中。这是:

<script>
$(document).ready(function(e) {
    $("#PaySubmit").click(function() {
        alert("done");
        $.ajax({
            url: 'Insert.php'
        });
    });
});
</script>
<?php 
session_start();
$prev_url1 = substr($_SERVER['HTTP_REFERER'],-18);
$_SESSION = array_merge($_POST);
?>

<form id="pay" name="pay" method="post" action="RandomPage.php">
<input type="submit" name="PaySubmit" id="PaySubmit" value="Continue"/>
</form>

$(文档).ready(函数(e){
$(“#支付提交”)。单击(函数(){
警惕(“完成”);
$.ajax({
url:'Insert.php'
});
});
});
在Insert中,代码如下:

<?php 
session_start();
try {
    $link = new PDO('mysql:host=;dbname=;charset=UTF-8','','');
    $gid = $link->prepare("SELECT MAX(Group_ID) as maxGroup FROM Conference");
    $gid->execute();
    $groupid = $gid->fetch(PDO::FETCH_ASSOC);
    $groupid = $groupid['maxGroup']+1;
    $regisid = $groupid;
    $first = $_SESSION["fname"];
    $last = $_SESSION["lname"];
    $addr = $_SESSION["address"];
    $city = $_SESSION["city"];
    $state = $_SESSION["state"];

    $stmt = $link -> prepare("INSERT INTO Conference (`Registrar_ID`, `Group_ID`, `First Name`, `Last Name`, `Address`, `City`, `State`) VALUES (:regisid, :groupid, :first, :last, :addr, :city, :state)");
    $stmt->bindParam(':regisid', $regisid);
    $stmt->bindParam(':groupid', $groupid);
        $stmt->bindParam(':first', $first);
        $stmt->bindParam(':last', $last);
        $stmt->bindParam(':addr', $addr);
        $stmt->bindParam(':city', $city);
        $stmt->bindParam(':state', $state);

    } catch(PDOException $e) {
        print "Error!: " . $e->getMessage() . "<br/>";
        die();
    }
?>

但由于某些原因,它无法插入。之前,我在第二页上有所有的插入代码,它工作得很好,但我希望只有当他们在第二页点击提交时,它才能插入,这就是为什么我必须这样做。为什么这样不行,我做错了什么?

你失踪了

$stmt->execute()
在将任何内容回显到浏览器之前,必须调用会话\u start()

<?php
    session_start();
?>
<script>
$(document).ready(function(e) {
    $("#PaySubmit").click(function() {
        alert("done");
        $.ajax({
            url: 'Insert.php'
        });
    });
});
</script>
<?php 
$prev_url1 = substr($_SERVER['HTTP_REFERER'],-18);
$_SESSION = array_merge($_POST);
?>

<form id"pay" name="pay" method="post" action="RandomPage.php">
<input type="submit" name="PaySubmit" id="PaySubmit" value="Continue"/>
</form>

$(文档).ready(函数(e){
$(“#支付提交”)。单击(函数(){
警惕(“完成”);
$.ajax({
url:'Insert.php'
});
});
});
更新
您的insert文件是insert.php还是insert.php?linux系统上的案例问题

我认为这段代码有很多错误。。到目前为止,我可以看到您使用
array\u merge
什么都不做,并且您没有给
PDO
构造函数任何主机名、数据库、用户名或密码……这里发生的事情比您发布的还要多吗?没有理由按照示例的设置方式使用jquery……只需将所需的页面添加到表单操作中,并让submit按钮完成其任务thing@Erik不,合并很好。经过彻底测试,$\u会话变成了$\u POST to user1026361:Can的精确副本,因为从第2页发布将意味着从第1页发布的所有数据都将丢失,这就是我使用sessions@Richard是的,它很好,但它什么都不做<代码>$\u会话=$\u POST与
$\u SESSION=array\u merge($\u POST)相同@Erik啊好的,现在修好了。但是我不明白为什么这个代码不起作用。我甚至在insert.php上回显了
$\u SESSION[“fname”]
,它打印了正确的值。所以我不明白为什么它不能插入。不,对不起,我忘了从代码中复制那个部分。我被处决了。已编辑原始帖子。它是大写的,Insert.php。当我将表单操作设置为
action=“Insert.php”
时,我想我找到了问题所在。但我不想让它出现……我认为ajax调用是解决这个问题的方法,但可能是我的语法错误或其他什么。