2017-08-13 12 views
-1

crudindex.phpの登録ボタンを押すと、cruduser(テーブル)にデータが挿入されます 一度完了したらcrudadd.phpを呼び出してcrud(テーブル)にmax id)をIDとしてcruduserテーブルから取得します。別のPHPを呼び出すとmysqlテーブルに挿入できない

問題は次のとおりです。登録ボタンを押すと、Cruduser(テーブル)が正しく挿入されています。 しかし、crud(テーブル)ではidだけを挿入し、他のフィールドは空白です。 投稿が値を選択していないか、いくつかの問題を挿入しているという疑いがあります。

しかし、静的な値をex:firstnameに 'Tim'、lastnameに 'cook'などを指定すると、テーブルcrudに挿入されます。

また、crudadd.phpを別々に実行すると、正しく挿入されます。

構造:

cruduser(
    id(int), 
    username(varchar), 
    password(varchar) 
) 

crud(
    id(int), 
    firstname(varchar), 
    lastname(varchar), 
    email(varchar), 
    gender(varchar), 
    age(varchar) 
) 

使用:テーブル:cruduserとCRUD PHP:データが正しくクラッドテーブルに挿入されていない

:crudindex.phpとは

コア問題をcrudadd.php Crudindex.php

<?php 
$con = mysqli_connect("127.0.0.1", "kkits996_ganesh", "mysql123#", "kkits996_testmysql") or die("Error " . mysqli_error($con)); 
if (isset($_POST) && (!empty($_POST))){ 
$uname=mysqli_real_escape_string($con,$_POST["uname"]); 
$pwd=mysqli_real_escape_string($con,$_POST["pwd"]); 
$cpwd=mysqli_real_escape_string($con,$_POST["cpwd"]); 
if (isset($_POST['register'])) { 
     # Register-button was clicked 
$createsql1="INSERT INTO cruduser(id,username,password) VALUES 
          ('','$uname','$pwd')"; 

if (mysqli_query($con,$createsql1)) { 
echo "Insert Successful in Table cruduser"; 
mysqli_close($con); 
include ("crudadd.php"); 
} 
else 
{ 
die(mysqli_error($con)); 
} 
} 
mysqli_close($con); 
} 
?> 
<!--DocType HTML --> 
<! bootstrap link is downloaded from bootstrapcdn.com for css and js --> 
<! col-mod-6 col-mod-offset are bootstrap related--> 
<HTML> 
<head> 
<title>"Add records in CRUD Table"</title> 
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"> 
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script> 
</head> 
<body> 
<div class="container"> 
<div class="row"> 
<form method="post" class="form-horizontal col-mod-6 col-mod-offset-3"> 
<h2>Create The table CRUD</h2> 
<div class="form-group"> 
<label for="input" class="col-sm-2 control-label">Firstname</label> 
<div class="col-sm-10"> 
<input type="text" name="uname" class="form-control" id="input1" placeholder="Username"/> 
</div> 
</div> 
<div class="form-group"> 
<label for="input" class="col-sm-2 control-label">Lastname</label> 
<div class="col-sm-10"> 
<input type="text" name="pwd" class="form-control" id="input1" placeholder="Password"/> 
</div> 
</div> 
<div class="form-group"> 
<label for="input" class="col-sm-2 control-label">Email</label> 
<div class="col-sm-10"> 
<input type="text" name="cpwd" class="form-control" id="input1" placeholder="Confirm Password"/> 
</div> 
</div> 
<div class="row"> 

       <div class="col-mod-6 col-mod-offset-3"> 
        <button id="submit1" name="register" class="btn btn-primary pull-right">Register</button> 
        <button id="submit2" name="login" class="btn btn-secondary pull-right">Login</button> 
       </div> 
      </div> 
</form> 
</body> 
</html> 

Crudadd.php

<?php 
//session_start(); 
//$maxiid = $_SESSION['id']; 
//echo $maxiid; 

$con = mysqli_connect("127.0.0.1", "kkits996_ganesh", "mysql123#", "kkits996_testmysql") or die("Error " . mysqli_error($con)); 
$result = mysqli_query($con,"SELECT * FROM cruduser WHERE id=(SELECT MAX(id) FROM cruduser)"); 
$row1 = mysqli_fetch_array($result); 
$c1 = $row1['id']; 
mysqli_close($con); 

$con = mysqli_connect("127.0.0.1", "kkits996_ganesh", "mysql123#", "kkits996_testmysql") or die("Error " . mysqli_error($con)); 
if (isset($_POST) && (!empty($_POST))){ 
$fname=mysqli_real_escape_string($con,$_POST["fname"]); 
$lname=mysqli_real_escape_string($con,$_POST["lname"]); 
$email=mysqli_real_escape_string($con,$_POST["email"]); 
$gender=$_POST["gender"]; 
$age=$_POST["age"]; 

print "I am here"; 
echo $finame; 
echo $liname; 
print email; 
//Notes : In Insert if numeric do not use quotes. if string use quotes.for auto use '' 
$createsql="INSERT INTO crud(id,firstname,lastname,email,gender,age) VALUES 
         ($c1,'$fname','$lname','$email','$gender','$age')"; 

if (mysqli_query($con,$createsql)) { 
echo "Connection Successful"; 
} 
else 
{ 
echo "Connection Issue"; 
die(mysqli_error($con)); 
} 
mysqli_close($con); 
} 
?> 
<!--DocType HTML --> 
<! bootstrap link is downloaded from bootstrapcdn.com for css and js --> 
<! col-mod-6 col-mod-offset are bootstrap related--> 
<HTML> 
<head> 
<title>"Add records in CRUD Table"</title> 
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"> 
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script> 
</head> 
<body> 
<div class="container"> 
<div class="row"> 
<form method="post" class="form-horizontal col-mod-6 col-mod-offset-3"> 
<h2>Create The table CRUD</h2> 
<div class="form-group"> 
<label for="input" class="col-sm-2 control-label">Firstname</label> 
<div class="col-sm-10"> 
<input type="text" name="finame" class="form-control" id="input1" placeholder="First name"/> 
</div> 
</div> 
<div class="form-group"> 
<label for="input" class="col-sm-2 control-label">Lastname</label> 
<div class="col-sm-10"> 
<input type="text" name="liname" class="form-control" id="input1" placeholder="Last name"/> 
</div> 
</div> 
<div class="form-group"> 
<label for="input" class="col-sm-2 control-label">Email</label> 
<div class="col-sm-10"> 
<input type="text" name="eimail" class="form-control" id="input1" placeholder="Email"/> 
</div> 
</div> 
<div class="form-group"> 
<label for="input" class="col-sm-2 control-label">Gender</label> 
<div class="col-sm-10"> 
<label> 
<input type="radio" name="giender" id="optionsRadios1" value="male" checked> Male 
</label> 
<label> 
<input type="radio" name="giender" id="optionsRadios1" value="female" > Female 
</label> 
</div> 
</div> 

<div class="form-group"> 
<label for="input" class="col-sm-2 control-label">Age</label> 
<div class="col-sm-10"> 
<select name="aige" class="form-control"> 
<option>Select your age</option> 
<option value="20">20</option> 
<option value="21">21</option> 
<option value="22">22</option> 
<option value="23">23</option> 
<option value="24">24</option> 
<option value="25">25</option> 
<option value="26">26</option> 
</select> 
</div> 
</div> 
<input type="submit" class="btn btn=primary col-md-2 col-md-offset-10" value="submit"/> 
</form> 
</body> 
</html> 
+0

いくつかの目立つことがあるかもしれません。 – Qirel

+0

奇妙なあなたのラベルと入力が同等ではありません.. !!! –

+0

はい私はあなたのポイントを得ました。いくつかの名前でテストが変更された場合でも、名前を正しく保持しています。同じ問題。 – yesganesh

答えて

0

を使用する必要があります。 cruduserに正しく挿入されていたPOST要求のcpwdが含まれています。その後、crudadd.php(include ("crudadd.php");)を含めています。しかし、あなたは依然として同じ要望にいることを忘れないでください。利用できるデータはuname,pwdcpwdです。これは、あなたの行が半ば空である理由です。

+0

これを解決するにはどうすればいいですか?crudadd.phpで投稿データを取得し、crudテーブルに挿入する方法。 – yesganesh

+0

最初のフォームをすべての必要なフィールドを持つように調整するか、2つのステップで登録を解決します(cruddadd.phpは含まずにリダイレクトします) –

+0

ニースリダイレクトが機能しました。また、1つの小さな基本的な疑い。 crudadd.phpにあります。私は接続を開いてtwiseを閉めました。つまり、select文と2回目の挿入文のために1です。私は接続を開いて選択を実行し、最後に接続を閉じて閉じます。 – yesganesh

0

IDがAUTO INCREMENTの場合。 あなたは、 '登録' をクリックしながらあなたがunamepwdを送信している

$createsql1="INSERT INTO cruduser(id,username,password) VALUES 
          (NULL,'$uname','$pwd')"; 

ない((あなたはid値の文字列を設定することはできません。あなたのidはint型である))

$createsql1="INSERT INTO cruduser(id,username,password) VALUES 
          ('','$uname','$pwd')"; 
関連する問題