2014-09-20 2 views
0

사용자가 계정을 만들어야하는 웹 사이트를 만들고 있습니다. 로그인 한 후 프로젝트를 추가 할 수 있습니다. 이 목적을 위해 프로젝트의 세부 사항을 3 페이지로 나누었으며 사용자는 세부 사항을 기입해야합니다. 여기 "save and continue" 버튼 될 것 처음 두 페이지의 아이디어는고유 ID를 한 페이지에서 다른 페이지로 이동하여 데이터베이스에 데이터 저장

과 같이 표시됩니다이

tagline: 
category: 
details: 
    Save and continue 

데이터베이스처럼 보일 것이

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

두 번째 페이지와 같은 보일 것

첫 페이지 (테이블의 이름은 createproject 임)

id projectby email projecttitle goal tagline category details 
1 name1   email1 title1  goal1 

i가 첫 번째 페이지에 사용한 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가 고유하므로 조건을 입력했기 때문입니다. 표시되는 오류는 없지만 항목은 데이터베이스에 저장되지 않습니다. 어쩌면 나는 올바른 방식으로 이드를 앞으로 나르 지 않을 것이다. 아무도 내가 데이터를 저장할 수있는 전화 번호가

+0

$ id를 사용하는 방법에 따라 파일에서 $ id 값을 설정할 위치를 볼 수 없습니다. 고마워요 내가 뭔가를 놓친거야 –

답변

0

페이지 매개 변수 또는 페이지 2의 URL 매개 변수로 페이지 1에서 삽입 된 행의 ID를 저장하십시오. ID를 삽입하여 행에서 수행 할 수 있습니다. 이 :

다음
$id = mysql_insert_id(); 

중 하나를 설정 ?project_id='ID'과 같은 매개 변수를 2 페이지로 사용자를 보내거나 세션과 :

session_start(); 
$_SESSION['project_id'] = $id; 

지금 당신이 페이지에서 SQL-쿼리를 업데이트 할 수 있습니다와 하나 $_GET['project_id'] 또는 $_SESSION['project_id'] like this :

$sql = "UPDATE creatorproject SET tagline='".$tagline."',category='".$category."',details='".$details."' WHERE id='".$_SESSION['id']."'"; 
+0

늦었지만 .. 내가 길을 시도했지만 데이터베이스에 저장된 항목이 없습니다 – user3774056

+0

바로 전에 $ SQL 문자열이 정의되고있어 그것의 에코를 수행하고 여기에서 출력을 붙여 넣기 내가하는 전체 쿼리를 볼 수 있습니다. 이렇게하면 모든 매개 변수가 정의된다는 것을 알 수 있습니다. 이와 같이 : echo "UPDATE creatorproject SET tagline = '". $ tagline ", category ='". $ category. " ', details ='". $ details. " 'WHERE id ='". $ _ SESSION [ ' 신분증']."'" –

관련 문제