[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Запись в базу
KAMAEL
Помогите. Мне нужно чтоб в базу писались данные пользователя, но выходит что в базу пишутся пустые строки.(

<form action="/login.php" method="POST">
<label
for="AccountName"> Username:</label>
<input
type="text" name="AccountName" maxlength="64" /><br />
<label
for="Password">Password:</label>
<input
type="password" name="Password" autocomplete="off" maxlength="64" /><br />
<input
class="subImage" type="image" id="imageLogin" onMouseover="iSwap('imageLogin','skin_1/buttonLoginOver.gif')" onMouseout="iSwap('imageLogin','skin_1/buttonLogin.gif')" src="https://css-stats.com/skin_1/buttonLogin.gif" width="104" height="25" border="0"/>
</form>


Вот мой скрипт PHP.

<?php

$hostname = "localhost";
$username = "psych";
$password = "password";
$dbName = "st";
$userstable = "clients";

mysql_connect($hostname,$username,$password) OR DIE("Не могу создать соединение ");

mysql_select_db($dbName) or die(mysql_error());

$query = "INSERT INTO $userstable VALUES('$AccountName', '$Password')";

mysql_close();

?>


Помогите пожалуйста!



Спустя 12 минут, 1 секунда (7.07.2010 - 22:54) Slays написал(а):
ну во первых где ты определяешь переменные $steamAccountName и $steamPassword, да и ваще где хоть какие-то данные из формы ты собираешь ? Форма отдельно, код отдельно...

а во вторых есть у тебя обычная строка
$query = "INSERT INTO $userstable VALUES('$steamAccountName', '$steamPassword')"; 


дальше то что ? mysql_query($query) где user posted image

если я пишу $string = 'моя крутая строка' у меня тоже с базой ничего не происходит, как ни странно.

Спустя 9 минут, 26 секунд (7.07.2010 - 23:03) KAMAEL написал(а):
Та ну я с ПХП вообще почти нуб.
Маленько в ПХП попутал, щас поправлю. Напиши плз как должно быть.

Спустя 8 минут, 21 секунда (7.07.2010 - 23:12) Ice написал(а):
$hostname = "localhost"; 
$username = "psych";
$password = "password";
$dbName = "st";
$userstable = "clients";

mysql_connect($hostname,$username,$password) or die("Не могу создать соединение ");
mysql_select_db($dbName) or die(mysql_error());
if($_SERVER['REQUEST_METHOD'] == 'POST') {
$AccountName = mysql_real_escape_string($_POST['AccountName']);
$Password = md5($_POST['password']);
$query = "INSERT INTO $userstable VALUES('$AccountName', '$Password')";
mysql_query($query);
mysql_close();
}

Спустя 1 час, 14 минут, 52 секунды (8.07.2010 - 00:27) KAMAEL написал(а):
Спасибо вам Айс. Вот тока строка Акаунт в базе остается пустой, а пассворд генерируется нормально. А скажите, на будуйщее, если мне будет надо чтоб в базу уходила не шифроаная инфа, какой параметр надо поставить вместо МД5 и mysql_escape_string?

Спустя 21 минута, 13 секунд (8.07.2010 - 00:48) Ice написал(а):
поверьте, лучше не убирать эти функции из кода. Будет только хуже.

Спустя 12 минут, 52 секунды (8.07.2010 - 01:01) KAMAEL написал(а):
Цитата (Ice @ 7.07.2010 - 21:48)
поверьте, лучше не убирать эти функции из кода. Будет только хуже.

я вас понимаю. Ну а если надо без мд5 то что туда поставить? Или если 2 поля инфы надо норм, а одно с мд5. Как такое оргамизовать?

Спустя 7 минут, 52 секунды (8.07.2010 - 01:09) Ice написал(а):
ну, если надо без мд5, то просто убираете мд5, но тогда Вы должны чётко себе представлять, что Вы ожидаете получить и обязательно проверить пришедшее значение на, так скажем, валидность. Иначе будете накормлены Бог весть чем, что может грозить в лучшем случае простым баловством на вашем сайте, а в худшем...

Два нормальных поля, а одно с мд5 организовываются точно так же, как было описано мной в предыдущем посте. Но экранирующая функция mysql_real_escape_string() должна быть практически всегда и везде, где данные предполагается вносить в БД, за исключением случаев, когда пришедшее значение строго проверено и отфильтровано и фильтр ничего кроме заданного пропустить не позволит.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.