Я начинаю php и пытаюсь сделать электронную коммерцию, используя php. Я пытаюсь создать регистрационную форму, и я хочу сохранить эти данные в сервере mysql. Кодировка выглядит как ОК, но данные не хранились на сервере mysql. Не могли бы вы дать свой ответ за это? php-язык - это первый раз, когда я боюсь. Пожалуйста, дайте несколько советов. Благодарю.php mysql INSERT INTO mysql, используя регистрационную форму
--registerForm.php--
<h4>Create a new account</h4>
<div class="box">
<form action="register.php" method="post">
<p>User ID: <input type="text" name="userId" size="30"/>*</p>
<p>Password: <input type="password" name="password" size="30"/>*</p>
<p>Retype Password: <input type="password" name="repassword" size="30"/>*</p>
<p>First Name: <input type="text" name="firstName" size="30"/>*</p>
<p>Last Name: <input type="text" name="lastName" size="30"/>*</p>
<p>Your Address (*):</p>
<p> <textarea name="address" rows="5" cols="30"></textarea></p>
<p>Phone: <input type="text" name="phone" size="20"/>*</p>
<p>E-mail: <input type="text" name="email" size="21"/>*</p>
<p><input type="submit" value="Create Account"/></p>
</form>
</div>
--register.php--
<?php
require "sql_connection.php";
if(isset($_POST['submit']))
{
if($_GET["userId"]==$_GET["repassword"]){
mysql_query("insert into customer (userId, password, firstName, lastName, address,
phone, email)
values
('$_GET[userId]','$_GET[password]','$_GET[firstName]','$_GET[lastName]','$_GET[address]','$_GET[phone]','$_GET[email]')")
or die(mysql_error());
}
echo "Done!!!!";
}
?>
--sql_connection.php--
<?php
$db_host = "localhost";
$db_username = "root";
$db_pass = "**MY_PASS**";
$db_name = "**MY_DB**";
@mysql_connect("$db_host", "$db_username", "$db_pass", "$db_name") or die("connection is fail.");
@mysql_select_db("$db_name") or die("database does not exsist.");
echo "Successfully connection!!";
?>
@Marshall: обратите внимание, что имя пользователя и пароль origina сохраняются в истории сообщений - утечка навсегда. – sarnold
Обратите внимание, что вы написали скрипт, уязвимый для [SQL Injection] (http: //en.wikipedia.org/wiki/SQL_injection), поскольку вы не дезактивировали любую из предоставленных пользователем переменных в ваших SQL-запросах. Для предотвращения этих уязвимостей используйте [Подготовленные формулировки PHP] (http://php.net/manual/en/pdo.prepared-statements.php). Благодарю. – sarnold
O_o о хорошо. Sooooo @ wholee1, даже если это на вашем локальном хосте, я бы изменил имя базы данных и пароль - лучше, чем забыть позже. – Marshall