クラスを作成してデータベースにデータを保存しようとしました。そのために私のルートディレクトリにあるディレクトリ名クラスの中にuser.phpクラスを入れました。構文解析エラー:予期しない '?>'、user.phpの関数(T_FUNCTION)が必要です
ここでは私の私のuser.php
<?php
class User{
public function __construct()
{
$host='localhost';
$user='root';
$password='';
$conn=mysql_connect($host,$user,$password);
if(!$conn){
die("Database Not Connected" . mysqli_error());
}
mysqli_select_db("atom2");
//echo "Database created! ";
}
public function save_user($data){
$sql="INSERT INTO users(name,email)
VALUES('$data[name]','$data[email]')";
if(!mysqli_query($sql)){
die("sql Error". mysqli_error());
}
echo "Saved Successfully!";
//mysqli_close($conn);
}
}
?>
はここに私のフォーム(index.phpを)です。ここで
<?php
require_once './classes/user.php';
$obj=new User();
if(isset($_POST['btn'])){
$obj->save_user($_POST);
}
?>
<html lang="en">
<head>
</head>
<body>
<form role="form" action="index.php" method="post" class="registration-form">
<div class="form-group">
<label class="sr-only" for="form-first-name">Name</label>
<input type="text" name="name" value="<?php if(isset($_POST['name'])){ echo htmlentities($_POST['name']);} ?> " placeholder="Name..." class="form-first-name form-control" id="form-first-name">
</div>
<div class="form-group">
<label class="sr-only" for="form-email">Email</label>
<input type="text" name="email" placeholder="Email..." class="form-email form-control" value="<?php if(isset($_POST['email'])){ echo htmlentities($_POST['email']);} ?> " id="form-email">
</div>
<button type="submit" class="btn" name="btn">Submit</button>
</form>
</body>
</html>
は私のディレクトリ構造です:
Test (Root Directory Name)
classes (Folder where user.php class contains)
user.php
index.php (Form for storing data)
しかしとき私は次のエラーがあるプログラムを実行します。
Parse error: syntax error, unexpected '?>', expecting function (T_FUNCTION) in C:\xampp\htdocs\atom2\classes\user.php on line 26
Sidenote: 'mysql_ *'関数は非推奨です。代わりに 'mysqli_ *'やPDOを使用してください。 – Panda
@ x69更新された回答を確認してください。またはチャットに来てください。私はそこに答えを提供しました –