2016-07-07 21 views
0

こんにちは私はこの登録ページのスクリプトを書いて、私はデータベースにユーザー情報を登録したいが、私はoop構文で準備された挿入ステートメントを使用してこれを安全にしようとしているが、データベースには何も置かれません。これはoop PHPで準備された挿入文を使用する正しい方法ですか?

index.phpページ

<!DOCTYPE html> 
    <html> 
    <head> 
    <title>Registration form</title> 
    <link rel="stylesheet" type="text/css" href="regisform.css"> 
    </head> 
    <body> 
     <div id="form"> 
     <div id="header"><h2>Registration Form</h2></div> 
      <form method="post" action="process.php"> 
       <label>Username:</label> 
       <input type="text" name="username" placeholder="Enter a Username please" required="required" /> 
       <label>Email:</label> 
       <input type="text" name="email" placeholder="Enter your email please" required="required" /> 
       <label>Password:</label> 
       <input type="text" name="password" placeholder="Enter a Password please" required="required" /> 
       <input type="submit" name="signup" value="Sign up"/> 
      </form> 
     </div> 
    </body> 

    </html> 

    <?php 
    include "process.php"; 
     $db = new db(); 
    if(isset($_POST['signup'])) { 
     $user = $_POST['username']; 
     $email = $_POST['email']; 
     $password = $_POST['password']; 

     $query = "INSERT INTO users (user_name, user_email, user_pass) VALUES (?, ?, ?)"; 

     $run = $db->insert($query); 
     $run->bind_param('sss', $user, $email, $password); 
     $run->execute(); 
     $run->close(); 
    } 
?> 

process.phpページ

<?php 

class db { 
    public $host = "localhost"; 
    public $user = "root"; 
    public $pass = ""; 
    public $db_name = "pros"; 

    public $link; 

    public function __construct(){ 
     $this->connect(); 
    } 

    private function connect() { 
     $this->link = new mysqli($this->host, $this->user, $this->pass, $this->db_name); 
    } 

    public function insert ($query) { 
     $result = $this->link->prepare($query); 
     if($result){ 
      echo "<center><h2>Registration Successfull!</h2></center>"; 
     } 
     else 
     { 
      echo "<center><h2>Registration failed!</h2></center>"; 
     } 
     return $result; 
    } 
} 

?> 
+0

のすべてを行うために、1つの関数やメソッドを使用します(var_dump($ result)) – MackProgramsAlot

+0

@ user3625915どこに置く必要がありますか?挿入機能では右か? –

+0

右のb4 uは返信します – MackProgramsAlot

答えて

0

私はuが死ぬとき何が起こるのインサート

public function insert_new_user($username, $email, $password){ 

    $mysqli = $this->link; 

    $sql = "INSERT INTO users" 
     . " (user_name, user_email, user_pass)" 
     . " VALUES (?, ?, ?)" 

    $stmt = $mysqli->prepare($sql); 

    $stmt->bind_param("sss", $username, $email, $password); 

    if($stmt->execute()){ 
     return "success"; 
    } else { 
     return "failed: " . $mysqli->error; 
    } 

} 
関連する問題