2017-09-08 21 views
1

フォームの値がこのページに印刷されていますが、 データベースに挿入されていません。私は何が間違っているのか分からないのですか?すべての値が と表示されている場合は、この特定のページに値が到達していて、 データベースには入っていません。データベースの列はソートされていますが、まだ は機能しません。フォームの値がデータベースに挿入されていません

<?php 
include("connection.php"); 
if(isset($_POST['continue'])) 
    { 
echo $eta_type = $_POST['eta_type']; 
echo  $firstname = $_POST['firstname']; 
echo  $lastname = $_POST['lastname']; 
echo  $title1=$_POST['title1']; 
echo $dob=$_POST['dob']; 
echo $gender=$_POST['gender'];       
echo $nationality=$_POST['nationality'];   
echo $cob=$_POST['cob'];   
echo $passportnumber=$_POST['passportnumber']; 
echo $pid=$_POST['pid'];        
echo $ped=$_POST['ped']; 
echo $residence=$_POST['residence']; 
echo $possesseta=$_POST['possesseta']; 
echo $multipleentry=$_POST['multipleentry']; 
echo $arrivaldate=$_POST['arrivaldate']; 
echo $purpose=$_POST['purpose']; 
echo $final_dest=$_POST['final_dest']; 
echo $stay_days=$_POST['stay_days']; 
echo $add1=$_POST['add1']; 
echo $add2=$_POST['add2']; 
echo $city=$_POST['city']; 
echo $state=$_POST['state']; 
echo $pscode=$_POST['pscode']; 
echo $country=$_POST['country']; 
echo $addlanka=$_POST['addlanka']; 
echo $email=$_POST['email']; 
echo $alternate_email=$_POST['alternate_email']; 
echo $phone=$_POST['phone']; 
echo $mobile=$_POST['mobile']; 
echo $fax=$_POST['fax']; 
$date1 = date('Y-m-d', strtotime($dob)); 
$date2 = date('Y-m-d', strtotime($pid)); 
$date3 = date('Y-m-d', strtotime($ped)); 
$date4 = date('Y-m-d', strtotime($arrivaldate)); 
$address=$add1.$add2; 
$sql= "INSERT INTO 
user(applicationtype, 
surname,givenname, 
title,dob,gender,nationality, 
cob,passportnumber,pid,ped, 
residenceinsrilanka,processeta, 
multipleentryofsrilanka,intentedarrivaldate, 
purposeofvisit,finaldestination,staydays,address, 
city,state,postalcode,country,addinsrilanka,email, 
alternateemail,telephonenos,mobilenos,faxnos) 
VALUES('$eta_type','$lastname','$firstname','$title1', 
'$date1','$gender','$nationality','$cob', 
'$passportnumber','$date2','$date3','$residence', 
'$possesseta','$multipleentry','$date4','$purpose', 
'$final_dest','$stay_days','$address','$city', 
'$state','$pscode','$country','$addlanka','$email', 
'$alternate_email','$phone','$mobile','$fax')"; 
$query = mysqli_query($conn, $sql); 
if($query) 
    { 
     header("Location: continue-to-pay.php?pno=$passportnumber"); 
    } 
    else 
    { 
     echo "<h4 style='color:red'>Failed.</h4>"; 
    } 
    } 
    ?> 
+0

印刷 '$ sql'変数を使用して値をエスケープして、SQLクエリのセクションと実行でこのクエリを貼り付ける必要があります。あなたは実際の理由を見つけるでしょう。 $ SQLを印刷してもデータベースには挿入しないと、値は –

+0

になります。 @RohitSuthar –

+0

あなたのSQLクエリセクションで '$ sql'クエリを直接実行します。挿入しないと、 'phpmyadmin'ページにエラーメッセージが表示されます。それはPHPのスクリプトではなく、データベーステーブルの問題かもしれません。 –

答えて

0

信じられないほど危険なコード...

は、クエリの注入についてのいくつかを読む....

この方法で渡された値は、クエリを破ることができます。

あなたはmysqi_escape_string()

http://php.net/manual/fr/mysqli.real-escape-string.php

+1

このリンクは質問に答えるかもしれませんが、答えの本質的な部分をここに含めて参考にしてください。リンクされたページが変更された場合、リンクのみの回答は無効になります。 - [レビューの投稿](/レビュー/低品質の投稿/ 17271877) –

関連する問題