ログインシステムがありますが、文字列の長さがset varchar maximumより大きい場合、 。データベースにvarchar(20)を設定しました。新しいアカウントを登録すると、最初の20文字が挿入された20文字以上のユーザー名の文字列を入力します。文字列の長さが設定された最大値より大きい場合、データがデータベースに入力される理由
具体的には、accountOption.phpファイルはルート文書の外にある、接続が
が、これはアクション機能で動作します。
function registerAccount($username,$password,$email){
global $db;
$sql = "INSERT INTO users (username,password,email) VALUES (:username,:password,:email)";
$stmt = $db->prepare($sql);
$stmt->execute(array(':username' => $username,':password'=>$password,':email'=>$email));
if ($stmt->rowCount() > 0){
$_SESSION['loggedIn'] = $username;
header("Location: ?page=loggedIn&message=Registered");
}else {
header("Location: ?page=register&message=Failed");
}
}
、これはform.php
<?php
if(isset($_GET['message'])){
echo $_GET['message']."<br>";
}
?>
Please register:
<form action="?bpage=accountOptions&action=register&nonUI" method="post">
Username: <input type="text" name="username"><br>
Password: <input type="password" name="password"><br>
Email: <input type="email" name="email"><br>
<br>
<input type="submit">
</form>
です
The connection.php
<?php
global $db;
$userdb="yyy";
$passworddb="xxx";
try {
$db=new PDO('mysql:host=localhost;dbname=dbname;',$userdb,$passworddb);
}catch(Exception $ex){
throw new Exception("Nu am reusit sa ne conectam la db");
}
?>
これはMySQLがデフォルトで動作する方法です。 –