データベースをAndroidアプリケーションに統合するために、オンラインのWebホスティングプラットフォームで設定した2つのPHPファイルがあります。 register.phpコードが正しく実行されているかどうかをテストするためにURL:https://wounding-pat.000webhostapp.com/register.phpを実行すると、ブラウザに次のメッセージが表示されます。オンラインWebホスティングでPHPを実行する際にエラーが発生しました
接続に成功
お知らせ:未定義のインデックス:名前/storage/ssd2/158/3185158/public_html/register.phpでライン上の5
お知らせ:未定義のインデックス:Eメール/ストレージ/ SSD2で/ 3185158分の158/public_htmlの/ register.phpライン上の6
お知らせ:未定義のインデックス:不定インデックス:件名7
通知に/storage/ssd2/158/3185158/public_html/register.phpでパスワードin/storage/ssd2/158/3185158/public_html/registe未定義のインデックス:行に/storage/ssd2/158/3185158/public_html/register.phpでカウンセラー9
注意:未定義の変数:/ストレージ/ SSD2に接続/配線8
通知にr.phpライン上の3185158分の158/public_htmlの/ register.php 13
警告:mysqli_query()は、パラメータ1は、空行に/storage/ssd2/158/3185158/public_html/register.phpで与えられ、mysqliのことを期待13
エラー
以下は私のinit.php cです頌歌
<?php
$host = "localhost";
$database = "id3185158_csetestonlinedb";
$username = "id3185158_root";
$password = "admin";
//$con = mysqli_connect($host, $username, $password, $database);
if (mysqli_connect($host, $username, $password, $database)) {
echo "Connection Successful";
} else {
echo "Connection Unsuccessful";
}
?>
私register.phpコードされ、次の
<?php
require "init.php";
$name = $_POST["name"];
$email = $_POST["email"];
$password = $_POST["password"];
$subject = $_POST["subject"];
$counsellor = $_POST["counsellor"];
$sql_query = "insert into teachers values('$name', '$email', '$password', '$subject', '$counsellor');";
if (mysqli_query($connection, $sql_query)) {
echo " Data Inserted";
} else {
echo " Error";
}
?>
エラー報告を有効にしてローカル開発環境で開発する必要があります。 init.phpは、register.phpで使用しようとしている$接続変数を作成しません。レジスタにアクセスすることはできません。ポストリクエスト(フォームデータ)を期待しているので、エラーを出すことなくPHPに直接アクセスできます。あなたは準備された、パラメータ化されたクエリを使用する必要があります。atmでは、SQLインジェクションハックを公開しています。 – JimL
そのコードはSQLインジェクションには全面的にopen_です。あなたはそれを修正する必要があります! SQLクエリを設定するときに、「パラメータのバインド」と組み合わせて「プリペアドステートメント」を使用することの利点について説明します。 – arkascha
手元にある問題について:http投稿リクエストを実行してもよろしいですか?もしそうなら、 '$ _POST'のダンプは内容として明らかになるでしょうか? – arkascha