ベストアンサー
まず最初に…
決してユーザー提供のデータをデータベースに直接渡さないでください。それが良い考えである理由は決してありません。
$name = mysqli\_real\_escape\_string($mysqli, $\_POST["name"]);
$pass = mysqli\_real\_escape\_string($mysqli, $\_POST["password"]);
real\_escape\_string()
を使用すると、SQLインジェクションによるスクリプトのハッキングを防ぐことができます。他の場所で値を使用する必要がある場合は、クエリを作成するときにエスケープできます。
$name = $\_POST["name"];
$sql = "SELECT * FROM users WHERE username = "".mysqli\_real\_escape\_string($mysqli, $name).""";
SQLクエリを作成するたびに同様のことを行います。 INSERT
クエリでは、変数に格納されている値をエスケープするか、クエリの作成時に値をエスケープすることで、値もエスケープする必要があります。
データを入力せずに「良い仕事」が表示される理由…
実際にがあるかどうかを確認することはできません。 入力です。ユーザーがまだフォームに入力していなくても、スクリプトはデータベースとの対話を試みます。
if(isset($\_POST["username"]) && isset($\_POST["password")) {
// put the rest of your script here
}
?>
データベースレコードが作成されない理由。
うーん…わかりません。特に、は機能しましたと表示されているためです。
上記の変更を行ってから、この回答にコメントを投稿して、あるかどうかをお知らせください。変更とその変更は何であり、そこから進むことができます。
また、サーバーログをチェックして、そこにエラーがないかどうかを確認します。それができない場合、またはエラーが無効になっている場合は、スクリプトの先頭にこれを追加してみてください:
ini\_set("error\_reporting", E\_ALL);
ini\_set("html\_errors", true);
ini\_set("display\_errors", "stdout");
ちなみに…
ラベルのfor
属性は要素のIDを指している必要があります。
あなたは…
必要なもの…
回答
php
$ host = "AAAAAA"; $ user = "AAAAA"; $ pass = "AAAAAA"; $ db = "AAAAA";
$ connect = mssql\_connect($ host、$ user、$ pass)またはdie( "接続できません"); $ database = mssql\_select\_db($ db、$ connect)またはdie( "選択したデータベースに接続できません");
if(isset($ \_POST(["submit"]))){$ email = S\_POST ["email"]; $ firstname = S\_POST ["firstname"]; $ lastname = S\_POST ["lastname"]; $ pwd = S\_POST ["pwd"];
if trim($firstname) == "" || trim($lastname)=="" || trim($pwd)== ""
{
echo "You must enter both a firstname, lastname and password!!";
}
else
{
$sql = "INSERT INTO users ([email],[first\_name],[last\_name],[password])VALUES("$email","$firstname","$lastname","$pwd")";
$result = mssql\_query($sql);
if(!$result)
{
echo mssql\_error();
exit;
}
mssql\_free\_result($result);
mssql\_close();
echo "Data successfully inserted!!";
}
}
?>
so php co私が最初にあなたに与えたのは単なる例であり、単純なエコーコードでさえ機能していません。さて、私はnotepad ++でコードを書き、kompozerにコードを貼り付けてアップロードしています。 hmtlではなく.php拡張子を付けてアップロードする必要があると言われました。それが機能しない理由です。しかし、それは紛らわしいので、インデックスページの特定のリンクに添付するにはどうすればよいですか。 plsのアドバイスとあなたの考えを教えてください。感謝します