php - 通过将唯一标识从一页转移到另一页来将数据保存在数据库中

我正在创建一个用户需要在其中创建帐户的网站。登录后,他们可以添加一个项目。为此,我将项目的细节分为3页,用户需要填写细节。这是前两个页面的想法,其中"save and continue"将是按钮

第一页看起来像这样

 

project by: 
email: 
project title:
goal
    Save and continue


第二页看起来像这样
 
tagline:
category:
details:
    Save and continue


数据库将如下所示(表名称为createproject)
 
id  projectby   email    projecttitle    goal    tagline    category    details
1   name1           email1   title1      goal1   


我用于第一页的php编码是
 
<?php
include('creator_session.php');

$con=mysqli_connect("asd","asd","asd","asd");
// Check connection
if (mysqli_connect_errno()) {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
}

// escape variables for security

$projectby = mysqli_real_escape_string($con, $_POST['projectby']);
$email = mysqli_real_escape_string($con, $_POST['email']);
$projecttitle = mysqli_real_escape_string($con, $_POST['projecttitle']);
$goal = mysqli_real_escape_string($con, $_POST['goal']);

$sql="INSERT INTO creatorproject (projectby,email,projecttitle,goal) VALUES ('$projectby', '$email','$projecttitle', '$goal')";


if (!mysqli_query($con,$sql)) {
  die('Error: ' . mysqli_error($con));
}
header("Location: add_creator_project_basic.php");
exit;

mysqli_close($con);
?>


我用于第二页的PHP编码
 
<?php
include('creator_session.php');

$con=mysqli_connect("asd","asd","asd","asd");
// Check connection
if (mysqli_connect_errno()) {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
}

$tagline = mysqli_real_escape_string($con, $_POST['tagline']);
$category = mysqli_real_escape_string($con, $_POST['category']);
$details = mysqli_real_escape_string($con, $_POST['details']);

$sql = "UPDATE creatorproject SET tagline='".$tagline."',category='".$category."',details='".$details."' WHERE id='".$id."'";


if (!mysqli_query($con,$sql)) {
  die('Error: ' . mysqli_error($con));
}
header("Location: add_creator_project.php");
exit;

mysqli_close($con);
?>


基本上,我希望保存在第二页上的数据应保存在保存第一页数据的同一行中,为此,我使用了更新查询,并且由于id是唯一的,因此我将条件设置为它。尽管没有错误显示,但该条目不会保存在数据库中。也许我没有以正确的方式结转身份证。任何人都可以打电话给我如何保存数据

最佳答案

将第1页中插入行中的ID保存在会话参数中,或另存为第2页中的URL参数。
您可以通过执行以下操作从插入的行中获取ID:

 

$id = mysql_insert_id();


然后,在将用户发送到第2页时设置类似?project_id='ID'的参数,或使用以下会话:
 
session_start();
$_SESSION['project_id'] = $id;


现在,您可以使用$_GET['project_id']$_SESSION['project_id']将页面上的SQL查询更新为:
 
$sql = "UPDATE creatorproject SET tagline='".$tagline."',category='".$category."',details='".$details."' WHERE id='".$_SESSION['id']."'";

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。原文地址:https://stackoverflow.com/questions/25945892/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值