私はフィールドを挿入する際に問題があるmysqlの初心者です。私はログインフォームと個人用の詳細を入力するためのホームページフォームを作成しました。ログインフォームは、罰金mysqlデータベースに提出したが、個人の詳細フォームは提出することを拒否;最初のフォームと同じフィールドを指定した場合にのみ、フォームは送信されました。明らかに、私は第2の形式で新しいデータを追加したいと思います。私はデータベースを整理するためのヒントを得たいと思います。テーブルはprofile
です。フィールドを含むすべてのユーザに関する情報を格納します:username
,password
、avatar
、location
goal
などMySQLデータベースでINSERT INTOが機能しない
&忍耐があります。私は最終的に2つのフォームの情報をユーザーレコードにまとめます。今のところ、エラー表示がオンになっていても、なぜ新しいエントリが作成されないのか、エラーメッセージが表示されるのかを知りたいです。
EDIT ::コード全体に
loginform.php
を含んでいないため申し訳ありません(正常に動作します)
<?php
require("connect.php");
session_start();
$query = "SELECT * FROM `profile`";
if ($query_run=mysqli_query($cnn,$query))
{
echo "
<h1>Sign up for Runners World</h1>
<form action='' method='post'>
Username: <input type='text' name='username'><br>
Email: <input type='text' name='email'><br>
Password: <input type='text' name='pw'><br>
<input type='submit' name='submit' value='submit'>
</form>
";
}
else {
die("<br>could not connect to table");
}
?>
<?php
if (isset($_POST['submit']))//if you submitted the form
{
$username = $_POST['username'];
$password = $_POST['pw'];
$email = $_POST['email'];
if ($username and $password and $email)
{
$addLogin = "INSERT INTO profile (username,email,password) VALUES ('$username','$email','$password')";
$success = $cnn->query($addLogin);
if ($success)
{
$_SESSION['name']="$username";
echo("<script>location.href = 'homePage.php';</script>");
}
else
{
die("login data failed to reach database");
}
}
else {echo "please fill out all the fields";}
}
else {
$submit=null;
echo 'no form submitted';
}
?>
addDetails.php
(提出しない)
<?php
session_start();
error_reporting(E_ALL);
ini_set("display_errors",1);
require("connect.php");
require("login.php");
echo "<h1>Welcome ".$_SESSION['name']."</h1>";
echo "<form action='' method='post'>
Avatar: <input type='text' name='avatar'><br>
Location: <input type='text' name='location'><br>
Descripiton: <input type='text' name='about'><br>
Daily Goal: <input type='text' name='goal'><br>
<input type='submit' value='submit' name='submit'>
</form>
";
$avatar = $_POST['avatar'];
$location = $_POST['location'];
$goal = $_POST['goal'];
$about = $_POST['about'];
if (isset($_POST['submit']))
{
$sql = "INSERT INTO profile (avatar,location,goal) VALUES ('$avatar','$location','$goal')";
if ($cnn->query($sql)===TRUE)
{echo "you have inserted profile fields";}
else
{echo "sqlQuery failed to insert fields";}
}
?>
フォームコードも表示してください。 –
私はあなたも上記のスクリプトではない写真をアップロードすると思います... あなたのフォームコードを参照してください –
どのようにエラー表示をオンにしましたか? 'error_reporting(E_ALL);を追加してください。 ini_set( 'display_errors'、1); 'をコードの最初の行として使用します。 –