[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: запись из формы в таблицу mysql
ak_lucky_47
Здравствуйте всем!
помогите разобраться с записью в таблицу mysql
решил написать простой баг трекер для малых сайтов
и возникли проблемы)
вот код формы:

<form action='?page=add_bug' method=post enctype=\"multipart/form-data\">
<table width='100%' border='0'>
<tr>
<td>Имя игрового персонажа:</td>
<td>
<input name='usr_name' type='text' size=50>
</td>
</tr>
<tr>
<td width='35%'>Сылка на <a href='/'>wowhead.com:</a></td>
<td>
<input name='usr_link' type='text' size=50><br><br>
</td>
</tr>
<tr>
<td>Описание бага:</td>
<td>
<textarea name='full_bug' cols=38 rows=5></textarea>
</td></tr>
<tr><td></td>
<td>
<center>
<input type='submit' name='add' value='Отправить'>
<input type='reset' name='reset' value='Очистить форму'>
</center>
</td>
</tr>
</table>
</form>



дальше я так понял что идет сам php код
но я что то не понимаю откуда он берет значение формы с name или value

$query = "INSERT INTO bugs VALUES ('".$usr_name."', '".$usr_link."', '".$full_bug."')";
$result = mysql_query ( $query );
if ($result) echo "Большое спасибо что сообщили о баге";




Спустя 11 минут, 3 секунды (26.02.2011 - 02:43) inpost написал(а):
<input name='usr_name' type='text' size=50> - вот форма, в обработчик отправляется: $_POST['usr_name'];
Если выводишь большой текст, то закрываешь пхп и выводишь как HTML:
?>
<form action="" method="post">
<
input>...
<?php
$a = 'xxx';

Спустя 2 минуты, 50 секунд (26.02.2011 - 02:46) ak_lucky_47 написал(а):
inpost
все понял!
подскажи пожалуйста !
нужно сделать ответ на отправку типа
идешь по сылке где баг трекер вводишь все необходимое
дальше отправляешь форма баг трекера убирается и пишется типа спасибо что заметили тд!

Спустя 5 минут, 9 секунд (26.02.2011 - 02:51) inpost написал(а):
ak_lucky_47
Ну так и выводи на той странице, куда отправляется запрос этот текст. Если всё делается на одной странице, то через if-else условия вывод.

Спустя 25 секунд (26.02.2011 - 02:51) ak_lucky_47 написал(а):
чуть позже отпишу

Спустя 34 минуты, 51 секунда (26.02.2011 - 03:26) ak_lucky_47 написал(а):
что то я не могу понять к какой базе конектится будет
mysql select_db ('bugs')
ужас
получилось тупо не могу понять как работает if else

if ($query){

echo"тут форма ";
$query = "INSERT INTO bugs VALUES ('".$usr_name."', '".$usr_link."', '".$full_bug."')";
$result = mysql_query ( $query );
else
echo "тут ответ без формы?";


<?php
echo "
<form action='?page=bugs' method=post>
<table width='100%' border='0'>
<tr>
<td>Имя игрового персонажа:</td>
<td>
<input name='usr_name' type='text' size=50>
</td>
</tr>
<tr>
<td width='35%'>Сылка на <a href='/'>wowhead.com:</a></td>
<td>
<input name='usr_link' type='text' size=50><br><br>
</td>
</tr>
<tr>
<td>Описание бага:</td>
<td>
<textarea name='full_bug' cols=38 rows=5></textarea>
</td>
</tr>
<tr>
<td></td>
<td>
<center>
<input type='submit' name='add' value='Отправить'>
<input type='reset' name='reset' value='Очистить форму'>
</center>
</td>
</tr>
</table>
</form> "
;
$usr_name = 'usr_name';
$usr_link = 'usr_link';
$full_bug = 'full_bug';
$query = "INSERT INTO bugs VALUES ('".$usr_name."', '".$usr_link."', '".$full_bug."')";
$result = mysql_query ( $query );
if ($result) echo "Большое спасибо что сообщили о баге";


?>

Спустя 9 часов, 20 минут, 5 секунд (26.02.2011 - 12:46) Guest написал(а):
что то не могу разобратся совсем!

Спустя 3 часа, 25 минут, 57 секунд (26.02.2011 - 16:12) inpost написал(а):
Guest
Что именно непонятно?

Спустя 2 часа, 31 минута, 27 секунд (26.02.2011 - 18:43) ak_lucky_47 написал(а):
сделал вот так но он не добовляет в mysql почему то
<?php
$_POST['$usr_name'];
$_POST['$usr_link'];
$_POST['$vids_bug'];
$_POST['$full_bug'];
$query = "INSERT INTO bugs VALUES ('".$usr_name."', '".$usr_link."', '".$vids_bug."', '".$full_bug."')";
$result = mysql_query ( $query );
if ($result) echo "Большое спасибо что сообщили о баге";
echo"

<form action='?page=bugs' method=post>
<table width='100%' border='0'>
<tr><td>Имя игрового персонажа:</td>
<td><input name='
$usr_name' type='text' size=50></td></tr>
<tr><td width='35%'>Сылка на <a href='/'>wowhead.com:</a></td>
<td><input name='
$usr_link' type='text' size=50><br><br></td></tr>
<tr><td>Баг заключается:</td>
<td>
<select name='
$vids_bug'>
<option value='7'>Спелы и таланты</option>
<option value='6'>Остальное</option>
<option value='5'>Заселение</option>
<option value='4'>Лут с Npc</option>
<option value='3'>Квесты</option>
<option value='2'>Инстансы</option>
<option value='1'>Предметы</option>
<option value='0'>Выберите метку бага...</option>
</select></td></tr>
<tr><td>Описание бага:</td><td><br>
<textarea name='
$full_bug' cols=38 rows=5></textarea></td></tr>
<tr><td></td><td><center>
<input type='submit' name='add' value='Отправить'>
<input type='reset' name='reset' value='Очистить форму'>
</center>
</td></tr>
</table>
</form>
"
;
?>

Спустя 28 минут, 58 секунд (26.02.2011 - 19:12) ak_lucky_47 написал(а):
сделал вот так но данные в таблицу не заполняются

<?

/* Соединяемся с базой данных */
$hostname = "localhost"; // название/путь сервера, с MySQL
$username = "root"; // имя пользователя (в Denwer`е по умолчанию "root")
$password = "root"; // пароль пользователя (в Denwer`е по умолчанию пароль отсутствует, этот параметр можно оставить пустым)
$dbName = "bugs"; // название базы данных
$table = "bbugs";
mysql_connect($hostname, $username, $password) or die ("Не могу создать соединение");
mysql_select_db($dbName) or die (mysql_error());
$cdate = date("Y-m-d");
$query = "INSERT INTO $table SET usr_name='".$_POST['usr_name']."', usr_link='".$_POST["usr_link"]."',
vids_bug='"
.$_POST["vids_bug"]."', full_bug='".$_POST["full_bug"]."', data='$cdate'";

/* Выполняем запрос. Если произойдет ошибка - вывести ее. */
mysql_query($query) or die(mysql_error());

/* Закрываем соединение */
mysql_close();

/* В случае успешного сохранения выводим сообщение и ссылку возврата */
echo ("<div style=\"text-align: center; margin-top: 10px;\">
<font color=
\"green\">Данные успешно сохранены!</font>

<a href=
\"index.html\">Вернуться назад</a></div>");

?>



<form action='bugs.php' method=post>
<
table width='100%' border='0'>
<
tr><td>Имя игрового персонажа:</td>
<
td><input name='$usr_name' type='text' size=50></td></tr>
<
tr><td width='35%'>Сылка на <a href='/'>wowhead.com:</a></td>
<
td><input name='$usr_link' type='text' size=50><br><br></td></tr>
<
tr><td>Баг заключается:</td>
<
td>
<
select name='$vids_bug'>
<
option value='7'>Спелы и таланты</option>
<
option value='6'>Остальное</option>
<
option value='5'>Заселение</option>
<
option value='4'>Лут с Npc</option>
<
option value='3'>Квесты</option>
<
option value='2'>Инстансы</option>
<
option value='1'>Предметы</option>
<
option value='0'>Выберите метку бага...</option>
</
select></td></tr>
<
tr><td>Описание бага:</td><td><br>
<
textarea name='$full_bug' cols=38 rows=5></textarea></td></tr>
<
tr><td></td><td><center>
<
input type='submit' name='add' value='Отправить'>
<
input type='reset' name='reset' value='Очистить форму'>
</
center>
</
td></tr>
</
table>
</
form>

Спустя 6 минут, 2 секунды (26.02.2011 - 19:18) ak_lucky_47 написал(а):
вот сама таблица

CREATE TABLE bbugs (
usr_name CHAR(30) NOT NULL,
PRIMARY KEY (usr_name),
usr_link VARCHAR(40),
vids_bug VARCHAR(60),
full_bug VARCHAR(6000),
data date not null);


Спустя 1 час, 31 минута, 55 секунд (26.02.2011 - 20:50) inpost написал(а):
ak_lucky_47
Название таблиці и ячеек возьми в кавычки такие: `data`. Ошибки не пишет вообще никакой?

Спустя 6 минут, 51 секунда (26.02.2011 - 20:57) ak_lucky_47 написал(а):
inpost

работает с 2х файлов

form.php
<form action='1.php' method=post>
<
table width='100%' border='0'>
<
tr><td>Имя игрового персонажа:</td>
<
td><input name='usr_name' type='text' size=50></td></tr>
<
tr><td width='35%'>Сылка на <a href='/'>wowhead.com:</a></td>
<
td><input name='usr_link' type='text' size=50><br><br></td></tr>
<
tr><td>Баг заключается:</td>
<
td>
<
select name='vids_bug'>
<
option value='7'>Спелы и таланты</option>
<
option value='6'>Остальное</option>
<
option value='5'>Заселение</option>
<
option value='4'>Лут с Npc</option>
<
option value='3'>Квесты</option>
<
option value='2'>Инстансы</option>
<
option value='1'>Предметы</option>
<
option value='0'>Выберите метку бага...</option>
</
select></td></tr>
<
tr><td>Описание бага:</td><td><br>
<
textarea name='full_bug' cols=38 rows=5></textarea></td></tr>
<
tr><td></td><td><center>
<
input type='submit' value='Отправить'>
<
input type='reset' value='Очистить форму'>
</
center>
</
td></tr>
</
table>
</
form>

и

form_add.php

<?

/* Соединяемся с базой данных */
$hostname = "localhost"; // название/путь сервера, с MySQL
$username = "root"; // имя пользователя (в Denwer`е по умолчанию "root")
$password = "root"; // пароль пользователя (в Denwer`е по умолчанию пароль отсутствует, этот параметр можно оставить пустым)
$dbName = "bugs"; // название базы данных
$table = "bbugs";
mysql_connect($hostname, $username, $password) or die ("Не могу создать соединение");
mysql_select_db($dbName) or die (mysql_error());
$cdate = date("Y-m-d");
$query = "INSERT INTO $table SET usr_name='".$_POST['usr_name']."', usr_link='".$_POST["usr_link"]."',
vids_bug='"
.$_POST["vids_bug"]."', full_bug='".$_POST["full_bug"]."', data='$cdate'";

/* Выполняем запрос. Если произойдет ошибка - вывести ее. */
mysql_query($query) or die(mysql_error());

/* Закрываем соединение */
mysql_close();

/* В случае успешного сохранения выводим сообщение и ссылку возврата */
echo ("<div style=\"text-align: center; margin-top: 10px;\">
<font color=
\"green\">Данные успешно сохранены!</font>

<a href=
\"/?page=bugs\">Вернуться назад</a></div>");

?>

а как можно обьеденить
этот запрос как я отписал в
этом посте

и ещё при добавлении в базу
непонятно с кодировкой , везде ????? , кодировка базы стоит cp1251 таблица тоже cp 1251
в navicate отображает ????? вместо русского шрифта!
вот таблица
CREATE TABLE bbugs (
usr_name varchar(255) not null PRIMARY KEY,
usr_link varchar(255) not null,
vids_bug varchar(255) not null,
full_bug text not null,
data date not null )default charset=cp1251;

Спустя 3 минуты, 18 секунд (26.02.2011 - 21:01) inpost написал(а):
ak_lucky_47
есть на сайте раздел "Кодировки", там прикреплённая тема, посмотри там по кодировкам.
Объеденить - посмотри в последней моей подписи, там есть работа формы с кодов.
Если просто, то запихни всё в один файл, отправку сделай сам на себя из формы, и для кода добавления в БД поставь условие на нажатие кнопки!

Спустя 11 минут, 37 секунд (26.02.2011 - 21:12) ak_lucky_47 написал(а):
inpost
получается чтобы обьеденить нужно сделать такой запрос

If (вот тут я не знаю какое значение ставить) {
Echo "тут форма";
}else{
тут скрипт обработки и отправки данных
Echo"тут отображает что успешно добавлено";


или я нге так понял!?

Спустя 1 час, 3 минуты, 42 секунды (26.02.2011 - 22:16) inpost написал(а):
ak_lucky_47
ага. А кнопка передаёт свой $_POST. Чтобы посмотреть, какие данные были переданы, используй связку:
echo '<pre>';
print_r($_POST);

У кнопки есть имя, оно и передаётся при нажатии, проверку делаешь, была ли нажата кнопка, то есть есть ли переменная с именем кнопки.

Спустя 6 минут, 3 секунды (26.02.2011 - 22:22) ak_lucky_47 написал(а):
inpost
что то не понял немного на счет $_POST

<php
if(тут хз что){
Echo "
<form action='1.php' method=post>
<table width='100%' border='0'>
<tr><td>Имя игрового персонажа:</td>
<td><input name='usr_name' type='text' size=50></td></tr>
<tr><td width='35%'>Сылка на <a href='/'>wowhead.com:</a></td>
<td><input name='usr_link' type='text' size=50><br><br></td></tr>
<tr><td>Баг заключается:</td>
<td>
<select name='vids_bug'>
<option value='7'>Спелы и таланты</option>
<option value='6'>Остальное</option>
<option value='5'>Заселение</option>
<option value='4'>Лут с Npc</option>
<option value='3'>Квесты</option>
<option value='2'>Инстансы</option>
<option value='1'>Предметы</option>
<option value='0'>Выберите метку бага...</option>
</select></td></tr>
<tr><td>Описание бага:</td><td><br>
<textarea name='full_bug' cols=38 rows=5></textarea></td></tr>
<tr><td></td><td><center>
<input type='submit' value='Отправить'>
<input type='reset' value='Очистить форму'>
</center>
</td></tr>
</table>
</form>"
;
}else{

/* Соединяемся с базой данных */
$hostname = "localhost"; // название/путь сервера, с MySQL
$username = "root"; // имя пользователя (в Denwer`е по умолчанию "root")
$password = "root"; // пароль пользователя (в Denwer`е по умолчанию пароль отсутствует, этот параметр можно оставить пустым)
$dbName = "bugs"; // название базы данных
$table = "bbugs";
mysql_connect($hostname, $username, $password) or die ("Не могу создать соединение");
mysql_select_db($dbName) or die (mysql_error());
$cdate = date("Y-m-d");
$query = "INSERT INTO $table SET usr_name='".$_POST['usr_name']."', usr_link='".$_POST["usr_link"]."',
vids_bug='"
.$_POST["vids_bug"]."', full_bug='".$_POST["full_bug"]."', data='$cdate'";

/* Выполняем запрос. Если произойдет ошибка - вывести ее. */
mysql_query($query) or die(mysql_error());

/* Закрываем соединение */
mysql_close();

/* В случае успешного сохранения выводим сообщение и ссылку возврата */
echo ("<div style=\"text-align: center; margin-top: 10px;\">
<font color=
\"green\">Данные успешно сохранены!</font>

<a href=
\"/?page=bugs\">Вернуться назад</a></div>");


}
?>

Спустя 1 минута, 29 секунд (26.02.2011 - 22:23) inpost написал(а):
if(!isset($_POST['submit']))
<input type='submit' value='Отправить' name="submit">

Спустя 2 минуты, 49 секунд (26.02.2011 - 22:26) ak_lucky_47 написал(а):
inpost
я все равно не понимаю..
сделал так но при заходе по сылке он сразу отправляет данные

<?php
if($query){
Echo "
<form action='1.php' method=post>
<table width='100%' border='0'>
<tr><td>Имя игрового персонажа:</td>
<td><input name='usr_name' type='text' size=50></td></tr>
<tr><td width='35%'>Сылка на <a href='/'>wowhead.com:</a></td>
<td><input name='usr_link' type='text' size=50><br><br></td></tr>
<tr><td>Баг заключается:</td>
<td>
<select name='vids_bug'>
<option value='7'>Спелы и таланты</option>
<option value='6'>Остальное</option>
<option value='5'>Заселение</option>
<option value='4'>Лут с Npc</option>
<option value='3'>Квесты</option>
<option value='2'>Инстансы</option>
<option value='1'>Предметы</option>
<option value='0'>Выберите метку бага...</option>
</select></td></tr>
<tr><td>Описание бага:</td><td><br>
<textarea name='full_bug' cols=38 rows=5></textarea></td></tr>
<tr><td></td><td><center>
<input type='submit' value='Отправить'>
<input type='reset' value='Очистить форму'>
</center>
</td></tr>
</table>
</form>"
;
}
else{

/* Соединяемся с базой данных */
$hostname = "localhost"; // название/путь сервера, с MySQL
$username = "root"; // имя пользователя (в Denwer`е по умолчанию "root")
$password = "root"; // пароль пользователя (в Denwer`е по умолчанию пароль отсутствует, этот параметр можно оставить пустым)
$dbName = "bugs"; // название базы данных
$table = "bbugs";
mysql_connect($hostname, $username, $password) or die ("Не могу создать соединение");
mysql_select_db($dbName) or die (mysql_error());
$cdate = date("Y-m-d");
$query = "INSERT INTO $table SET usr_name='".$_POST['usr_name']."', usr_link='".$_POST["usr_link"]."',
vids_bug='"
.$_POST["vids_bug"]."', full_bug='".$_POST["full_bug"]."', data='$cdate'";

/* Выполняем запрос. Если произойдет ошибка - вывести ее. */
mysql_query($query) or die(mysql_error());

/* Закрываем соединение */
mysql_close();

/* В случае успешного сохранения выводим сообщение и ссылку возврата */
echo ("<div style=\"text-align: center; margin-top: 10px;\">
<font color=
\"green\">Данные успешно сохранены!</font>

<a href=
\"/?page=bugs\">Вернуться назад</a></div>");


}

?>

Спустя 2 минуты, 56 секунд (26.02.2011 - 22:29) ak_lucky_47 написал(а):
ураааааа дошло до меня
if(!isset($_POST['submit'])) это переменная каторая не дает отправлятся форме сразу пока submit не будет нажат))))
спс большое

Спустя 3 часа, 14 минут, 8 секунд (27.02.2011 - 01:43) inpost написал(а):
ak_lucky_47
это имя кнопки: <input name="SUBMIT">
И проверяется на нажатие кнопки именно с таким именем.

Спустя 1 минута, 39 секунд (27.02.2011 - 01:45) ak_lucky_47 написал(а):
inpost
да да я уже сделал спасибо
осталось только правильно создать таблицу в бд так как описание
всего 2 строчки!
Быстрый ответ:

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