既存のユーザー名のようなものを処理するページを作成しようとしています。これは私がこれまでに得たものです。
<?php
// Parse the form data and add inventory item to the system
if (isset($_POST['username'])) {
$username = ($_POST['username']);
$password = ($_POST['password']);
$level = ($_POST['level']);
// See if that product name is an identical match to another product in the system
$sql = mysql_query("SELECT id FROM users WHERE username='$username' LIMIT 1");
include "storescripts/connect_to_mysql.php";
$productMatch = mysql_num_rows($sql); // count the output amount
if ($productMatch > 0) {
header("location: message.php?msg=activation_failure");
exit();
}
// Add this product into the database now
$username = preg_replace('#[^a-z0-9]#i', '', $_POST['username']);
$email = mysql_real_escape_string($_POST['email']);
$p_hash = md5($password);
$sql = mysql_query("INSERT INTO users (username, password, email, level, date_added)
VALUES('$username','$p_hash','$email','$level',now())") or die (mysql_error());
header("location: order_complete.php");
exit();
}
?>
if ステートメントは mysql にクエリを実行して、フォーム エントリとデータベースが一致するかどうかを判断します。次に、次のようなメッセージで message.php に移動したいと思います ...このユーザー名は既に存在します。これを行う方法またはそれにアプローチする方法に関するヒントは大歓迎です。
さらなる明確化..フォームの開始:
<form action="user-info.php" enctype="multipart/form-data" name="signupform" id="signupform" method="post">
および message.php
<?php
$message = "";
$msg = preg_replace('#[^a-z 0-9.:_()]#i', '', $_GET['msg']);
if($msg == "sorryuser"){
$message = 'No good';
} else if($msg == "activation_success"){
$message = 'test';
} else {
$message = $msg;
}
?>
<?php include_once("./includes/site-opener.php");?>
<title></title>
</head>
<body id="home">
<?php include 'includes/header.php'; ?>
<?php include 'includes/content-opener.php'; ?>
<div class="containOthers">
<div style="width:300px;margin-left:auto;margin-right:auto;margin-bottom:40px;min-height:500px;">
<div><?php echo $message; ?><?php echo $emailError; ?></div>
</div>
</div>
<?php include 'includes/footer.php'; ?>
</body>
</html>
これは、フォーム送信後の user-info.php のエラーです。
警告: mysql_query(): 18 行目の /home3/onlinfaa/public_html/user-info.php のユーザー 'onlinfaa'@'localhost' (パスワードを使用: NO) のアクセスが拒否されました 警告: mysql_query(): サーバーへのリンク18 行目の /home3/onlinfaa/public_html/user-info.php で確立できませんでした 警告: mysql_num_rows() は、パラメーター 1 がリソースであると想定しています。キー「ユーザー名」のエントリ「test-email@aol.com」が重複しています