Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: запись в mysql из php

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: Проверка формы на заполнение
Petro
Отправлено: 20 Октября, 2010 - 15:24:12
Post Id



Гость


Покинул форум
Сообщений всего: 126
Дата рег-ции: Март 2010  


Помог: 2 раз(а)




здравствуйте!
при заполнении формы все нормально, но когда поля пустые, все равно происходит запись в базу, сделал name -> primry key not null, password -> not null, и все равно записывает пустые поля(правда 1-н раз и только для name).
Уверен что с помощью isset. Покажите пожалуйста как это делается.

<html>
<body>
<a href="../../index.php">перейти на главную</a><br>
<form action='registraciya.php' method='POST'>
<input type=text name='user' size='10' value='' maxlength='10'>Введите имя<br>
<input type=text name='pass' size='10' value='' maxlength='10'>Введите пароль<br>
<input type=submit value='Зарегистрировать'>
</form>
</body>
</html>

<?php
$mshost="127.0.0.1"; //host
$msuser="root"; //user
$mspass="123456"; //password
$user= isset ($_POST['user']) ? ($_POST['user']) : '';
$pass= isset ($_POST['pass']) ? ($_POST['pass']) : '';

if (!isset($user)) {echo 'vvedite imya<br>';}
if (!isset($pass)) {echo 'vvedite parol<br>';}

echo 'Имя: ', $user, '<br>Пароль: ', $pass, '<br>';

$mscon=mysql_connect($mshost, $msuser, $mspass) or die(mysql_error()); //soedinenie s mysql
mysql_query('SET NAMES cp1251');
mysql_query('SET NAMES UTF-8');
mysql_select_db('base') or die(mysql_error()); //выбор БД

$vvod='insert into user values("'.$user.'", "'.$pass.'")';
mysql_query($vvod) or die(mysql_error()); //Запись в таблицу

mysql_close($mscon);
?>


-----
Нет ничего более постоянного, чем временное.
 
 Top
movEAX
Отправлено: 20 Октября, 2010 - 15:46:55
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 750
Дата рег-ции: Авг. 2009  


Помог: 16 раз(а)




PHP:
скопировать код в буфер обмена
  1. $un  = isset( $_POST['user'] ) ? trim( $_POST['user'] ) : False;
  2. $psw = isset( $_POST['passwd'] ) ? trim( $_POST['passwd'] ) : False;
  3.  
  4. if ( $un && $psw ) {
  5.     $psw = md5( $psw );
  6.     $mysqli = new mysqli( 'localhost', 'login', 'pass', 'db_name' );
  7.     $stmt = $mysqli->prepare( 'INSERT INTO user VALUES(?, ?)' );
  8.     $stmt->bind_param( 'ss', $un, $psw );
  9.     $stmt->execute();
  10.     $inserted = $stmt->affected_rows;
  11.     $stmt->close();
  12.     $mysqli->close();
  13. } else {
  14.     echo 'some error message';
  15. }

(Отредактировано автором: 20 Октября, 2010 - 15:48:14)



-----
армия.. самое убогое место
 
 Top
Petro
Отправлено: 20 Октября, 2010 - 16:54:54
Post Id



Гость


Покинул форум
Сообщений всего: 126
Дата рег-ции: Март 2010  


Помог: 2 раз(а)




Огромное спасибо!
Я сделал не так как у Вас, но думаю что так тоже правильно.

CODE (htmlphp):
скопировать код в буфер обмена
  1. ?php
  2. $mshost="127.0.0.1"; //host
  3. $msuser="root"; //user
  4. $mspass="123456"; //password
  5. $user= isset ($_POST['user']) ? trim($_POST['user']) : '';
  6. $pass= isset ($_POST['pass']) ? trim($_POST['pass']) : '';
  7.  
  8. if ($user) {echo 'Имя: ', $user;} else { echo 'vvedite imya<br>';};
  9. if ($pass) {echo '<br>Пароль: ', $pass, '<br>';} else { echo '<br>vvedite pass<br>';};
  10. if ($user && $pass)
  11. { $mscon=mysql_connect($mshost, $msuser, $mspass) or die(mysql_error()); //soedinenie s mysql
  12. mysql_query("SET NAMES cp1251");
  13. mysql_query('SET NAMES UTF-8');  
  14. mysql_select_db('base') or die(mysql_error()); //выбор БД
  15.  
  16. $vvod="insert into `user` (`name`, `password`) values('$user', '$pass')";      
  17. mysql_query($vvod) or die(mysql_error()); //Запись в таблицу
  18.        
  19. mysql_close($mscon);
  20. }
  21. ?>

(Отредактировано автором: 20 Октября, 2010 - 16:55:44)



-----
Нет ничего более постоянного, чем временное.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« SQL и Архитектура БД »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB