Hello dear stackoverflow users,
私は奇妙な問題を抱えています。私は2ページのフォームを持っています。
ページ 1 は index.php です。
<form action="insert.php" method="post">
<div class="slider"><input type="checkbox" onclick="this.form.checkbox1.checked = this.checked;" id="slider" name="10001" value="10001"><label for="slider"></label></div>
<input type="checkbox" value="127.20" id="checkbox1" name="chk"/>
<input type="submit">
</form>
ページ2はinsert.phpです
<?php
$q=$_GET["q"];
// Load Joomla! configuration file
require_once('configuration.php');
// Create a JConfig object
$config = new JConfig();
// Get the required codes from the configuration file
$server = $config->host;
$username = $config->user;
$password = $config->password;
$database = $config->db;
$con = mysqli_connect($server,$username,$password,$database);
if (!$con){
die('Could not connect: ' . mysqli_error($con));
}
mysqli_select_db($con,$database);
$q = mysqli_real_escape_string($con,$q);
// Save form input
$10001 = $POST_['10001'];
$sql_add = "INSERT INTO cypg8_testtest (10001) VALUES ('$10001')";
$result_add = $mysqli->query($sql_add);
// Close connection
mysqli_close($con);
?>
データベース テーブルの名前: cypg8_testtest
このテーブルには 2 つの列があり、次のように設定されています。
ID | 10001
id は列、10001 は列です。
私はインターネットで探していて、次のようないくつかの方法を使用してみました。
- http://www.mustbebuilt.co.uk/php/insert-update-and-delete-with-mysqli/
- http://codular.com/php-mysqli
- mysqli がデータベースに保存されません
- http://www.w3schools.com/php/php_mysql_insert.asp
- php経由でhtmlフォームデータをsqlデータベースに送信します(mysqliを使用)
しかし、なぜそれらのどれも機能していないのかわかりません。予期しない 10001 や予期しない など、あらゆる種類のエラーが発生します。
上記のコードでは、次のエラーが発生します: 解析エラー: 構文エラー、予期しない '10001' (T_LNUMBER)、変数 (T_VARIABLE) または '$' が必要です
最初のチェックボックスの値(値=10001)をテーブル列10001に保存したい
事前に助けてくれてありがとう。
編集 1: <== 解決策はここにあります。
それを機能させるには、コードとデータベースを変更する必要がありました。
データベースでは、テーブルの列名は文字で始まる必要があるため、これは 10001 から a10001 に変更されます
次に、チェックボックス名もa10001に変更して、dbテーブルの列に対応させる必要がありました。
保存フォームの入力にもいくつかの変更が必要でした。これはコードで見やすくなっています。したがって、簡単に参照できるように、両方のコードを以下に示します。
ページ 1 は index.php です。
<form action="insert.php" method="post">
<div class="slider"><input type="checkbox" onclick="this.form.checkbox1.checked = this.checked;" id="slider" name="a10001" value="10001"><label for="slider"></label></div>
<input type="checkbox" value="127.20" id="checkbox1" name="chk"/>
<input type="submit">
</form>
ページ2はinsert.phpです
<?php
$q=$_GET["q"];
// Load Joomla! configuration file
require_once('configuration.php');
// Create a JConfig object
$config = new JConfig();
// Get the required codes from the configuration file
$server = $config->host;
$username = $config->user;
$password = $config->password;
$database = $config->db;
$con = mysqli_connect($server,$username,$password,$database);
if (!$con){
die('Could not connect: ' . mysqli_error($con));
}
mysqli_select_db($con,$database);
$q = mysqli_real_escape_string($con,$q);
// Save form input
$a10001 = $_POST['a10001'];
mysqli_query($con,"INSERT INTO cypg8_testtest (a10001) VALUES ('".$a10001."')");
// Close connection
mysqli_close($con);
?>
答えにたどり着くのを手伝ってくれたすべての人に感謝します。そして、ソリューションを提供してくれた Arian に感謝します。