[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: PHP + MySQL
johniek_comp
вот форма
<form action="auction.php" name="myform" method="post"> 
Что-то 1: <input type="text" name="mytext" size="50"> <br />

Описание: <textarea name="msg" cols="20" rows=10></textarea><br />

<input
name="Submit" type=submit value="Отправить данные">
</form>

выводим
<?
$text = $_POST['mytext'];
$msg = $_POST['msg'];
print "То что вы ввели раз ";
echo $text;
print "<br>";
print "то что было в текстареа ";
echo $msg;
?>


просьба научить правильно работать с БД, сам буду сидеть до посинения пока пойму.
вот что понял пока сам, создаем файл с конфгом бд
$link = mysql_connect('dbhost', 'dbuser', 'password') or die("Не могу соединиться"); 
mysql_select_db('dbname', $link);

а как же префикс? или можно без него?
потом при работе include(конфиг.php);
создал я таблицу там 2 строчки, в одной будет то что мы вводим в форме и там же в текстареа.
как мне записать в базу то что мы вводим? а потом на какой-то тех. странице это вывести?

можно даже без мускула, взять за базу txt.
начинаем...



Спустя 11 минут, 36 секунд (20.09.2011 - 17:12) m4a1fox написал(а):
Для начала, как минимум создать таблицу в БД! Еслши она есть, то пропускаем этот момент! Дальше, тебе нужно занести данные в таблицу? Нет ничего проще! Следи за логикой. Что бы все сработало надо:
1. Проверить действительно ли данные с ЭТОЙ формы отправились.
2. Проверить их (на пустоту и там много еще чего)
3. Если не пусты и все нормально то заносим их в БД
4. Иначе - возвращаем обратно на форму с пометкой - заполните поля
5. Если не 4, то возвращаем сообщение что все нормально занеслось и всем говорим спасибо!
Если это тебя еще не отпугнуло, то поехали делать! ТЫ делаешь - я и если кто еще придет тебя правим или помогаем!

P.S У тебя в форме есть маленькие неточности.
Вот так нужно

<form action="auction.php" name="myform" method="post">
Что-то 1: <input type="text" name="mytext" size="50" /> <br />

Описание: <textarea name="msg" cols="20" rows="10"></textarea><br />

<input
name="submit" type="submit" value="Отправить данные" />
</form>


Спустя 1 минута, 33 секунды (20.09.2011 - 17:13) Winston написал(а):

Спустя 3 минуты, 26 секунд (20.09.2011 - 17:16) m4a1fox написал(а):
Слушай, Winston. Ты реально столько ссылок прикольных в голове держишь! Тебе уже можно писать мануал по теме "Вы спрашиваете, мы Вас посылаем (по ссылкам конечно) smile.gif". И это не шутка. А то иногда такой тупой вопрос тут задашь, что стыдно, а в на самом деле уже есть ман по этому делу. Так что подумай. Реально полезно было бы.

Спустя 2 минуты, 56 секунд (20.09.2011 - 17:19) johniek_comp написал(а):
форма работает, таблицу создал название mama, дам 2 колонки.
там есть при создании 2-х колонок множество настроек, пока разбираюсь как создать колонки в таблице.

проверить не пустое ли поле при заполнении?
если оно пустое оно не попадет в базу я так понял?(из-за условия)
можно же проверить переменные через isset
if(isset($_POST['mytext']));
echo 'заполнено';
else
echo 'пустая';


как-то так, это нужно что бы в базу не приходили пустые значения?

Спустя 5 минут, 18 секунд (20.09.2011 - 17:25) Winston написал(а):
m4a1fox
Да, как-то само собой запоминается smile.gif

Спустя 1 минута, 30 секунд (20.09.2011 - 17:26) m4a1fox написал(а):
johniek_comp
Не переживай....все так начинали! Смотри, по твоим вопросам
Цитата

проверить не пустое ли поле при заполнении?

Да, проверить конечно надо.
Цитата

если он пустое оно попадет в базу я так понял?

Нет! Тут ты не верно понял. Если оно пустое, то мы перебрасывает обратно на форму ввода. Я же вот тут говорил
Цитата
4. Иначе - возвращаем обратно на форму с пометкой - заполните поля

Цитата

можно же проверить переменные через isset

Конечно можно - но бесполезно.
Объясню! Через isset стоит проверять только одну переменную - $_POST['submit']. А вот остальные ты так не проверишь - так как они будут сущ. в любом случае - пустыми или заполненными. Поэтому тут применяют параметр (кажется так называется, но это не суть) - empty (кот., кстати говоря, для этого и создан.) Уже empty проверят пусто ли или нет! И еже ли пусто, то он останавливает работу скрипта (ну это прописывается в условии) и перебрасывает человека обратно с пометкой - заполните поле!

Спустя 3 минуты, 49 секунд (20.09.2011 - 17:30) m4a1fox написал(а):
Короче, насколько я понимаю, ты сейчас пытаешь разобраться в русских буквах... откровенно говоря - это бесполезно! Надо пробовать! Давай начнем с начала. Покажи свою форму для отправки данных?

Спустя 7 минут, 52 секунды (20.09.2011 - 17:38) johniek_comp написал(а):
m4a1fox
а текстовую бд как подключать?
там вроде нужно что-то формы записи создать, покажи пример какой есть если есть.

Спустя 2 минуты, 26 секунд (20.09.2011 - 17:40) Winston написал(а):

Спустя 1 минута, 14 секунд (20.09.2011 - 17:42) m4a1fox написал(а):
Ого! Зрители smile.gif
johniek_comp
А давай попробуем без текста. Denwer установлен? И к тому же я попросил показать именно как форма выглядит?

Спустя 47 секунд (20.09.2011 - 17:42) m4a1fox написал(а):
Winston
От черт! Врот мне ноги, как он это делает?

Спустя 22 секунды (20.09.2011 - 17:43) johniek_comp написал(а):
<form action="auction.php" name="myform" method="post"> 
Что-то 1: <input type="text" name="mytext" size="50" /> <br />

Описание: <textarea name="msg" cols="20" rows="10"></textarea><br />

<input
name="submit" type="submit" value="Отправить данные" />
</form>


ну вот моя форма
вот файл auction.php
<?
$text = $_POST['mytext'];
$msg = $_POST['msg'];
print "Данные введены, спасибо!";
ну можно проверить а не пусто ли post, все что есть на этот день, нужна база, сижу читаю...не фига не понимаю!
?>


а вообще много уже понял, спасибо всем.

денвер есть я не мазохист

Спустя 4 минуты, 41 секунда (20.09.2011 - 17:47) m4a1fox написал(а):
Ну, так, если есть denwre значит есть и PMA (PhpMyAdmin). Соответственно... ладно делаем так. В БД есть таблица (mama - кажется так). В ней есть 3 поля.
1 - id, auto_increment, primary key
2 - mytext
3 - msg

Есть такие?

Спустя 13 минут, 50 секунд (20.09.2011 - 18:01) m4a1fox написал(а):
Короче, долго однако, надо бежать. Вот те напоследок

if(isset($_POST['submit'])){
$mytext = !empty($_POST['mytext'])?htmlspecialchars($_POST['mytext']):NULL;
$msg = !empty($_POST['msg'])?htmlspecialchars($_POST['msg']):NULL;

if($mytext != NULL && $msg != NULL) // ректально конечно, но ладно
$sql = mysql_query("INSERT INTO `mama` SET
`mytext` = '"
.$mytext."',
`msg` = '"
.$msg."'
"
);
if($sql){
echo 'Все нормально';
}else{
echo 'Что-то ни так';
}
}



Это конечно очень примитивно и грубо но суть ты поймешь. И да, разбери скрипт по полочкам. Это очень важный момент. Я специально не расписывал все, что бы ты сам все смог понять.... Но! Ежели не получится. То можешь смело сюда писать, ребята помогу...

P.S. Это код для файла - auction.php (это куда твоя форма отправляет запрос).

Спустя 14 минут, 13 секунд (20.09.2011 - 18:15) inpost написал(а):
if($sql){ ???
mysql_affected_rows !!!

Спустя 2 часа, 6 минут, 56 секунд (20.09.2011 - 20:22) johniek_comp написал(а):
вот что получилось:
<?
define("HOST","localhost");
define("USER","base2");
define("PASS","123456");
define("DB","base2");

$link = mysql_connect(HOST,USER,PASS) or die (mysql_error());


mysql_select_db(DB, $link);

mysql_query ("SET NAMES utf8");
mysql_query ("set character_set_client='utf8'");
mysql_query ("set character_set_results='utf8'");
mysql_query ("set collation_connection='utf8_general_ci'");

if(isset($_POST['submit'])){
$mytext = !empty($_POST['mytext'])?htmlspecialchars($_POST['mytext']):NULL;
$msg = !empty($_POST['msg'])?htmlspecialchars($_POST['msg']):NULL;

if($mytext != NULL && $msg != NULL)
$sql = mysql_query("INSERT INTO `mama` SET
`mytext` = '"
.$mytext."',
`msg` = '"
.$msg."'
"
);
if(empty($mytext && $msg))
{
echo 'Все нормально';
}else{
echo 'Что-то ни так';
}
}

?>


не работает.
бд такое:
Type Collation Attributes Null Default Extra Action
id int(11) No None auto_increment
mytext int(11) No None
msg int(11) No None

Спустя 6 минут, 46 секунд (20.09.2011 - 20:29) Winston написал(а):
Вот так нужно
if(!empty($mytext) && !empty($msg))
{
echo 'Все нормально';
}else{
echo 'Что-то ни так';
}

Спустя 20 минут, 22 секунды (20.09.2011 - 20:50) johniek_comp написал(а):
Winston
на работу не влияет все равно спасибо.
а зачем ! перед empty?

Спустя 14 минут, 57 секунд (20.09.2011 - 21:04) inpost написал(а):
johniek_comp
Это отрицание, обратное от функции.


_____________
user posted image
Быстрый ответ:

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