Напишите запрос что бы раз и навсегда мне нигде не лазить а запомнить.
есть данные с формы например
<form action="tel.php?telefon=acsses" method="post">
Представтесь:<input name="name_user" type="text" />
Ваш номер телефона:<input name="tel_user" type="text" />
<input name="sum" type="submit" />
</form>
вывести потом я понял как
$sql = "SELECT * FROM `pages` LIMIT 0, 30 ";
а туда запихать?
и запрос я тоже научился делать:
CREATE TABLE IF NOT EXISTS `telefon` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`name_user` text NOT NULL,
`tel_user` text NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=2 ;
осталось только одно! как данные с формы в базу запихать?
Спустя 8 минут, 37 секунд (22.10.2011 - 20:44) Игорь_Vasinsky написал(а):
INSERT INTO `table` (`cell1`, `cell2`, `cell3`) VALUES ('".$var1."', '".$var2."', '".$var3."')
для (int)$var - одинарные кавачке не нужну
важно соблюдать порядок ячеек в таблице
id auto_increment - не указывать
Спустя 1 час, 28 минут, 2 секунды (22.10.2011 - 22:12) johniek_comp написал(а):
Игорь_Vasinsky
имеешь в виду если цифры заношу но в кавычки не брать?
имеешь в виду если цифры заношу но в кавычки не брать?
Спустя 4 минуты, 9 секунд (22.10.2011 - 22:16) XCross написал(а):
Да. Но через SET удобнее!
INSERT INTO `table` SET `cell1` = '".$var1."', `cell2` = '".var2."', `cell3` = '".$var3."'
Спустя 2 минуты, 41 секунда (22.10.2011 - 22:19) johniek_comp написал(а):
Скрипт написал. Все работает.
запрос:
страница
запрос:
CREATE TABLE IF NOT EXISTS `telefon` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`name_user` text NOT NULL,
`tel_user` text NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=3 ;
страница
<div class="story">
<h3><fieldset><legend>Форма заказа звонка</legend>
<form action="tel.php?telefon=acsses" method="post">
Представтесь:<input name="name_user" type="text" />
Ваш номер телефона:<input name="tel_user" type="text" />
<input name="sum" type="submit" />
</form>
</fieldset></h3>
</div>
<?php
include 'config.php';
$sql = mysql_query("INSERT INTO `telefon` (name_user, tel_user)
VALUES ('".$_POST['name_user']."', '".$_POST['tel_user']."');");
?>
Спустя 1 минута, 53 секунды (22.10.2011 - 22:21) Игорь_Vasinsky написал(а):
нет. только кокатенация вида ".$var."
php работает с числами в прямом виде, это строки закрываются.
после того как в БД записал
редирект на саму эту страницу через header (или JS на худой конец)
тогда POST очистяться
иначе повторное F5 - и запис снова летит в БД
php работает с числами в прямом виде, это строки закрываются.
после того как в БД записал
редирект на саму эту страницу через header (или JS на худой конец)
тогда POST очистяться
иначе повторное F5 - и запис снова летит в БД
Спустя 3 минуты, 27 секунд (22.10.2011 - 22:24) johniek_comp написал(а):
ага, и вот такую проверочку
но надо конечно на сами данные ставить, а не на кнопку т.к. даже не при заполнении будет true.
так что я теперь расшареный по полной! даешь мне статус эксперта!
<?php
if(isset($_POST['sum'])) {
echo '<center><b>Данные поступили! Мы Вам перезвоним в течении нескольких часов, а может даже сразу!</b></center>';
} else {
echo '';
}
?>
но надо конечно на сами данные ставить, а не на кнопку т.к. даже не при заполнении будет true.
так что я теперь расшареный по полной! даешь мне статус эксперта!
Спустя 2 минуты, 21 секунда (22.10.2011 - 22:27) johniek_comp написал(а):
Игорь_Vasinsky
была такая проблема решил через хедер локатион, иначе данные не обнуляются.
была такая проблема решил через хедер локатион, иначе данные не обнуляются.
Спустя 2 минуты, 35 секунд (22.10.2011 - 22:29) Игорь_Vasinsky написал(а):
вот и усё.
осталось тока по уму проверку на уникальность логина и emaila сделать
т.е. перед записью в БД - нужно пошуршать в БД - чтобы не было таких же там.
осталось тока по уму проверку на уникальность логина и emaila сделать
т.е. перед записью в БД - нужно пошуршать в БД - чтобы не было таких же там.
Спустя 48 секунд (22.10.2011 - 22:30) Игорь_Vasinsky написал(а):
Цитата |
if(isset($_POST['sum'])) { echo '<center><b>Данные поступили! Мы Вам перезвоним в течении нескольких часов, а может даже сразу!</b></center>'; } else { echo ''; } |
else то нафига пустую. не надо.
if(isset($_POST['sum']))
echo '<center><b>Данные поступили! Мы Вам перезвоним в течении нескольких часов, а может даже сразу!</b></center>';
Спустя 6 минут, 16 секунд (22.10.2011 - 22:36) johniek_comp написал(а):
так, а теперь напиши запрос на вывод с базы с комментариями, как ты можешь

Спустя 1 минута, 5 секунд (22.10.2011 - 22:37) johniek_comp написал(а):
Цитата |
т.е. перед записью в БД - нужно пошуршать в БД - чтобы не было таких же там. |
название ф-и не подскажешь?
Спустя 6 минут, 31 секунда (22.10.2011 - 22:44) Игорь_Vasinsky написал(а):
$query = mysql_query("SELECT `login`, `email` FROM `table` WHERE `login` = '".mysql_escape_string($_POST['login'])."'
OR `email` = '".mysql_escape_string($_POST['email'])."'") or die(mysql_error());
if(mysql_num_rows($query)) //Если нет совпадений - значит FALSE - !mysql_num_rows($query)\
echo "Такой логин или емайл уже используется";
else
{
//Регистрируешь нового юзера
}
Спустя 11 минут, 32 секунды (22.10.2011 - 22:55) johniek_comp написал(а):
[quote]$query = mysql_query("SELECT `login`, `email` FROM `table` WHERE `login` = '".mysql_escape_string($_POST['login'])."'
OR `email` = '".mysql_escape_string($_POST['email'])."'") or die(mysql_error());[/quote]
так давай разберем...
выбрать поля логин, емейл в таблице таблица, где логин то что пришло с поста, а емейл то что пришло с поста тоже, иначе выводим ошибку мускула.
м?
но я например вывожу данные с базы на абсолютно другой странице, таким образом метод пост здесь не актуален.
пишу запрос
$query = mysql_query("SELECT `name_user`, `tel_user` FROM `telefone` or die(mysql_error());
только вывести, правильно написал, иль чего не хватает?
Спустя 4 минуты, 35 секунд (22.10.2011 - 23:00) Игорь_Vasinsky написал(а):
ошибка мускула ставиться на время отладки скрипта - чтоб видеть полное описание ошибки
потом убирай это.
Запрос в БД необходим чтобы до регистрации (когда данные с формы приняяты) - мы не зарегили юзера если уже есть такой логин или пароль в БД
Выбираю я в таблице тока логин и емайл - да потому что мне тока их проверить нужно - зачем мне все строки целиком шуршать,
разницу чуешь?
а когда в работу скрипт - то
@ - поставил - чтоб при ошибке в инете - вся хрень не повылазила - а сработала тока or die()
потом убирай это.
Запрос в БД необходим чтобы до регистрации (когда данные с формы приняяты) - мы не зарегили юзера если уже есть такой логин или пароль в БД
Выбираю я в таблице тока логин и емайл - да потому что мне тока их проверить нужно - зачем мне все строки целиком шуршать,
разницу чуешь?
$query = mysql_query("SELECT `name_user`, `tel_user` FROM `telefone`") or die(mysql_error());
а когда в работу скрипт - то
$query = @mysql_query("SELECT `name_user`, `tel_user` FROM `telefone`") or die("Ошибка MySQL");
@ - поставил - чтоб при ошибке в инете - вся хрень не повылазила - а сработала тока or die()
Спустя 1 минута, 37 секунд (22.10.2011 - 23:02) johniek_comp написал(а):
а вот здесь если я напишу ! перед ф-й, т.е. обратное от ф-и, то смысл сменится?
примерно вот так...
примерно вот так...
if(!mysql_num_rows($query))
//Регистрируешь нового юзера
else
{
echo "Такой логин или емайл уже используется";
}
Спустя 4 минуты, 24 секунды (22.10.2011 - 23:06) Игорь_Vasinsky написал(а):
всё пучком - ты же просто логику перевернул.
мне удобней сразу проверять - если не выполнять - значит не выполнять
мне удобней сразу проверять - если не выполнять - значит не выполнять
Спустя 12 минут (22.10.2011 - 23:18) johniek_comp написал(а):
Игорь_Vasinsky
спасибо за ответы, пойду поглажу тебе карму :)
вот как я вывел в конечном результате
все вышло с первого раза, выводит таблицей, оч красиво, хотя мне на красоту в этом деле далеко все равно!
спасибо за ответы, пойду поглажу тебе карму :)
вот как я вывел в конечном результате
<?php
include 'config.php';
$sql = "SELECT * FROM `telefon`";
$result = mysql_query($sql) or die(mysql_error() ."<br/>". $sql);
$table = "<table border=0 width=100% align=center>\n";
while ($row = mysql_fetch_assoc($result))
{
$table .= "<tr>\n";
$table .= "<td>".$row['id']."</td>\n";
$table .= "<td>".$row['name_user']."</td>\n";
$table .= "<td>".$row['tel_user']."</td>\n";
$table .= "</tr>\n";
}
$table .= "</table>\n";
echo $table;
?>
все вышло с первого раза, выводит таблицей, оч красиво, хотя мне на красоту в этом деле далеко все равно!
Спустя 8 минут, 20 секунд (22.10.2011 - 23:26) Игорь_Vasinsky написал(а):
Молодец

Спустя 7 часов, 11 минут, 55 секунд (23.10.2011 - 06:38) YVSIK написал(а):
Свернутый текст
Цитата (johniek_comp @ 22.10.2011 - 23:18) |
Игорь_Vasinsky спасибо за ответы, пойду поглажу тебе карму ![]() вот как я вывел в конечном результате <pre class="sh_sourceCode" rel="php"><span class="sh_keyword"><?php</span> <span class="sh_control">include</span> <span class="sh_string">'config.php'</span><span class="sh_symbol">;</span> <span class="sh_variable">$sql</span> <span class="sh_symbol">=</span> <span class="sh_string">"SELECT * FROM `telefon`"</span><span class="sh_symbol">;</span> <span class="sh_variable">$result</span> <span class="sh_symbol">=</span> <span class="sh_function">mysql_query</span><span class="sh_symbol">(</span><span class="sh_variable">$sql</span><span class="sh_symbol">)</span> <span class="sh_keyword">or</span> <span class="sh_function">die</span><span class="sh_symbol">(</span><span class="sh_function">mysql_error</span><span class="sh_symbol">() .</span><span class="sh_string">"<br/>"</span><span class="sh_symbol">.</span> <span class="sh_variable">$sql</span><span class="sh_symbol">);</span> <span class="sh_variable">$table</span> <span class="sh_symbol">=</span> <span class="sh_string">"<table border=0 width=100% align=center></span><span class="sh_escape">\n</span><span class="sh_string">"</span><span class="sh_symbol">;</span> <span class="sh_control">while</span> <span class="sh_symbol">(</span><span class="sh_variable">$row</span> <span class="sh_symbol">=</span> <span class="sh_function">mysql_fetch_assoc</span><span class="sh_symbol">(</span><span class="sh_variable">$result</span><span class="sh_symbol">))</span> <span class="sh_cbracket">{</span> <span class="sh_variable">$table</span> <span class="sh_symbol">.=</span> <span class="sh_string">"<tr></span><span class="sh_escape">\n</span><span class="sh_string">"</span><span class="sh_symbol">;</span> <span class="sh_variable">$table</span> <span class="sh_symbol">.=</span> <span class="sh_string">"<td>"</span><span class="sh_symbol">.</span><span class="sh_variable">$row</span><span class="sh_symbol">[</span><span class="sh_string">'id'</span><span class="sh_symbol">].</span><span class="sh_string">"</td></span><span class="sh_escape">\n</span><span class="sh_string">"</span><span class="sh_symbol">;</span> <span class="sh_variable">$table</span> <span class="sh_symbol">.=</span> <span class="sh_string">"<td>"</span><span class="sh_symbol">.</span><span class="sh_variable">$row</span><span class="sh_symbol">[</span><span class="sh_string">'name_user'</span><span class="sh_symbol">].</span><span class="sh_string">"</td></span><span class="sh_escape">\n</span><span class="sh_string">"</span><span class="sh_symbol">;</span> <span class="sh_variable">$table</span> <span class="sh_symbol">.=</span> <span class="sh_string">"<td>"</span><span class="sh_symbol">.</span><span class="sh_variable">$row</span><span class="sh_symbol">[</span><span class="sh_string">'tel_user'</span><span class="sh_symbol">].</span><span class="sh_string">"</td></span><span class="sh_escape">\n</span><span class="sh_string">"</span><span class="sh_symbol">;</span> <span class="sh_variable">$table</span> <span class="sh_symbol">.=</span> <span class="sh_string">"</tr></span><span class="sh_escape">\n</span><span class="sh_string">"</span><span class="sh_symbol">;</span> <span class="sh_cbracket">}</span> <span class="sh_variable">$table</span> <span class="sh_symbol">.=</span> <span class="sh_string">"</table></span><span class="sh_escape">\n</span><span class="sh_string">"</span><span class="sh_symbol">;</span> <span class="sh_function">echo</span> <span class="sh_variable">$table</span><span class="sh_symbol">;</span> <span class="sh_keyword">?></span></pre> все вышло с первого раза, выводит таблицей, оч красиво, хотя мне на красоту в этом деле далеко все равно! |
полный плагиат Полный !!


_____________
