Автор Тема: Требуется помощь HTML,PHP,MySQL... срочно  (Прочитано 5365 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Digger

  • Старожил
  • ****
  • Сообщений: 384
  • Карма: -30
  • Пол: Мужской
  • Нарушение п.1.15. ППФ
    • Просмотр профиля
Есть такая форма :
<h3>Текст 1</h3>
<form action="" method="post">
<table border="1" cellpadding="3">
<tr>
<td><input type="radio" name="t1" value="r1">20:00-20:30</td>
<td><input type="text" name="nick1" size="60" maxlength="50"></td>
</tr>
<tr>
<td><input type="radio" name="t1" value="r2">20:30-21:00</td>
<td><input type="text" name="nick1" size="60" maxlength="50"></td>
</tr>
<tr>
<td><input type="radio" name="t1" value="r3">21:00-21:30</td>
<td><input type="text" name="nick1" size="60" maxlength="50"></td>
</tr>
<tr>
<td><input type="radio" name="t1" value="r4">21:30-22:00</td>
<td><input type="text" name="nick1" size="60" maxlength="50"></td>
</tr>
</table>
<h3>Текст 2</h3>
<table border="1" cellpadding="3">
<tr>
<td><input type="radio" name="t1" value="r5">20:00-20:30</td>
<td><input type="text" name="nick1" size="60" maxlength="50"></td>
</tr>
<tr>
<td><input type="radio" name="t1" value="r6">20:30-21:00</td>
<td><input type="text" name="nick1" size="60" maxlength="50"></td>
</tr>
<tr>
<td><input type="radio" name="t1" value="r7">21:00-21:30</td>
<td><input type="text" name="nick1" size="60" maxlength="50"></td>
</tr>
<tr>
<td><input type="radio" name="t1" value="r8">21:30-22:00</td>
<td><input type="text" name="nick1" size="60" maxlength="50"></td>
</tr>
</table>
</form>

В общем вопросы:
1) Как сделать, чтобы если я например выбрал бы радиобаттон1, то текст мог бы ввести только в соседнее текстовое поле.
2) Нужно, чтобы я отметил нужное мне время, в соседней области ввёл текст. И эти данные занеслись в базу данных. А после если другой пользователь вдруг выбрал тоже время, ему сообщили что такое время уже занято.
Пожалуйста помогите... оч надо... реализация только средствами хтмл, пхп, майскул
Нарушение п.1.15. правил форума.


Оффлайн Alexander

  • Administrator
  • Ветеран
  • *****
  • Сообщений: 16184
  • Карма: 1551
  • Пол: Мужской
  • All bugs rеsеrvеd
    • Просмотр профиля
Для начала я бы упростил форму.

<h3>Текст 1</h3>
<form action="" method="post">
<table border="1" cellpadding="3">
<tr>
<td><select name="t1">
<option value=0>20:00-20:30</option>
<option value=1>20:30-21:00</option>
<option value=2>21:00-21:30</option>
<option value=3>21:30-22:00</option>
</select></td>
<td><input type="text" name="nick1" size="60" maxlength="50"></td>
</tr>
</table>
<h3>Текст 2</h3>
<table border="1" cellpadding="3">
<tr>
<td><select name="t1">
<option value=0>20:00-20:30</option>
<option value=1>20:30-21:00</option>
<option value=2>21:00-21:30</option>
<option value=3>21:30-22:00</option>
</select></td>
<td><input type="text" name="nick1" size="60" maxlength="50"></td>
</tr>
</table>
</form>

ДЛя остального нужно знать параметры БД и таблицы.
Намазать стены разной краской, увы, друзья, немудрено.
Хоть и зовут вас «граффитисты», вы как художники — гов*о.
(c)

Оффлайн Pavv

  • Ветеран
  • *****
  • Сообщений: 4645
  • Карма: 354
  • Пол: Мужской
  • 007
    • Просмотр профиля
Ну если форму не упрощать то вот первый шажок это вот такой:
<HTML>
<HEAD>
<TITLE>12345</TITLE>
</HEAD>
<BODY topmargin=0 leftmargin=0>

<h3>Текст 1</h3>
<form action="" method="post">
<table border="1" cellpadding="3">
<tr>
<td><input type="radio" name="t1" value="r1" onClick="this.form.nick1.disabled=0">20:00-20:30</td>
<td><input type="text" name="nick1" size="60" maxlength="50" disabled=1></td>
</tr>
<tr>
<td><input type="radio" name="t1" value="r2" onClick="this.form.nick2.disabled=0">20:30-21:00</td>
<td><input type="text" name="nick2" size="60" maxlength="50" disabled=1></td>
</tr>
<tr>
<td><input type="radio" name="t1" value="r3" onClick="this.form.nick3.disabled=0">21:00-21:30</td>
<td><input type="text" name="nick3" size="60" maxlength="50" disabled=1></td>
</tr>
<tr>
<td><input type="radio" name="t1" value="r4" onClick="this.form.nick4.disabled=0">21:30-22:00</td>
<td><input type="text" name="nick4" size="60" maxlength="50" disabled=1></td>
</tr>
</table>
</form>
</BODY>
</HTML>
Ну а дальше
ДЛя остального нужно знать параметры БД и таблицы.
:ad:

p.s. да и помоему нужно иметь кнопочку по нажатию на которую все что треба будет записываться в базу
« Последнее редактирование: 06.04.10, 21:41:10 от Pavv »

Оффлайн Digger

  • Старожил
  • ****
  • Сообщений: 384
  • Карма: -30
  • Пол: Мужской
  • Нарушение п.1.15. ППФ
    • Просмотр профиля
Для начала я бы упростил форму.

<h3>Текст 1</h3>
<form action="" method="post">
<table border="1" cellpadding="3">
<tr>
<td><select name="t1">
<option value=0>20:00-20:30</option>
<option value=1>20:30-21:00</option>
<option value=2>21:00-21:30</option>
<option value=3>21:30-22:00</option>
</select></td>
<td><input type="text" name="nick1" size="60" maxlength="50"></td>
</tr>
</table>
<h3>Текст 2</h3>
<table border="1" cellpadding="3">
<tr>
<td><select name="t1">
<option value=0>20:00-20:30</option>
<option value=1>20:30-21:00</option>
<option value=2>21:00-21:30</option>
<option value=3>21:30-22:00</option>
</select></td>
<td><input type="text" name="nick1" size="60" maxlength="50"></td>
</tr>
</table>
</form>

ДЛя остального нужно знать параметры БД и таблицы.
В том то и дело, что требуют именно такую форму как я нарисовал(((  Я так понял средствами хтмл нельзя сделать, чтоб только напротив выбранной кнопки можно было бы писать текст. Далее я делаю обработчик формы:

<?php
$rad=$_POST['t1'];
$nick1=$_POST['nick1'];
$nick2=$_POST['nick2'];
$nick3=$_POST['nick3'];
$nick4=$_POST['nick4'];
$nick5=$_POST['nick5'];
$nick6=$_POST['nick6'];
$nick7=$_POST['nick7'];
$nick8=$_POST['nick8'];

?>
вот по идее всё что передается... Как мне сделать, чтобы быда проверка.... Вот такая. Если ни одна радиокнопка не нажата принт ошибка ввода, если ни одно текстовое поле не нажато принт ошибка ввода. если нажата радиокнопка, а текстовое поле введено не рядом с этой кнопкой принт ошибка ввода. В общем всегда ошибка ввода кроме того момента когда нажата радиокнопка и рядом с ней введено текстовое поле???????????????? очень прошу помощи надо сделать это до 9 утра завтрашнего дня
Нарушение п.1.15. правил форума.

Оффлайн Digger

  • Старожил
  • ****
  • Сообщений: 384
  • Карма: -30
  • Пол: Мужской
  • Нарушение п.1.15. ППФ
    • Просмотр профиля
Ну если форму не упрощать то вот первый шажок это вот такой:
<HTML>
<HEAD>
<TITLE>12345</TITLE>
</HEAD>
<BODY topmargin=0 leftmargin=0>

<h3>Текст 1</h3>
<form action="" method="post">
<table border="1" cellpadding="3">
<tr>
<td><input type="radio" name="t1" value="r1" onClick="this.form.nick1.disabled=0">20:00-20:30</td>
<td><input type="text" name="nick1" size="60" maxlength="50" disabled=1></td>
</tr>
<tr>
<td><input type="radio" name="t1" value="r2" onClick="this.form.nick2.disabled=0">20:30-21:00</td>
<td><input type="text" name="nick2" size="60" maxlength="50" disabled=1></td>
</tr>
<tr>
<td><input type="radio" name="t1" value="r3" onClick="this.form.nick3.disabled=0">21:00-21:30</td>
<td><input type="text" name="nick3" size="60" maxlength="50" disabled=1></td>
</tr>
<tr>
<td><input type="radio" name="t1" value="r4" onClick="this.form.nick4.disabled=0">21:30-22:00</td>
<td><input type="text" name="nick4" size="60" maxlength="50" disabled=1></td>
</tr>
</table>
</form>
</BODY>
</HTML>
Ну а дальше:ad:

p.s. да и помоему нужно иметь кнопочку по нажатию на которую все что треба будет записываться в базу
Ну эти теги разумеется будут)))) и кнопка тоже))))
Нарушение п.1.15. правил форума.

Оффлайн Alexander

  • Administrator
  • Ветеран
  • *****
  • Сообщений: 16184
  • Карма: 1551
  • Пол: Мужской
  • All bugs rеsеrvеd
    • Просмотр профиля
В том то и дело, что требуют именно такую форму как я нарисовал(((

Шлите в опу тех, кто требует такую форму. Это не форма, а головоломка какая-то.
Намазать стены разной краской, увы, друзья, немудрено.
Хоть и зовут вас «граффитисты», вы как художники — гов*о.
(c)

Оффлайн Pavv

  • Ветеран
  • *****
  • Сообщений: 4645
  • Карма: 354
  • Пол: Мужской
  • 007
    • Просмотр профиля
Я так понял средствами хтмл нельзя сделать, чтоб только напротив выбранной кнопки можно было бы писать текст.
ну так я привел код сначала все поля скрыты, тыкаешь на определенное время открывается поле рядом, или я чем то не так понял

Оффлайн Pavv

  • Ветеран
  • *****
  • Сообщений: 4645
  • Карма: 354
  • Пол: Мужской
  • 007
    • Просмотр профиля
Шлите в опу тех, кто требует такую форму. Это не форма, а головоломка какая-то.
:ay:

Оффлайн Pavv

  • Ветеран
  • *****
  • Сообщений: 4645
  • Карма: 354
  • Пол: Мужской
  • 007
    • Просмотр профиля
<?php
$rad=$_POST['t1'];
$nick1=$_POST['nick1'];
$nick2=$_POST['nick2'];
$nick3=$_POST['nick3'];
$nick4=$_POST['nick4'];
$nick5=$_POST['nick5'];
$nick6=$_POST['nick6'];
$nick7=$_POST['nick7'];
$nick8=$_POST['nick8'];

?>


ну и что нибудь типа:

$conn = db_connect(); //функция коннекта к базе

   // Проверить, не существует ли уже такая запись  треба
ввести какой то уникальный идентификатор, например НИк может
еще чего, чтобы проверять что такое уже есть в базе.

   $query = "select * from база  where identificator='идентификатор'";

   $result = $conn->query($query);
   if (!$result || $result->num_rows!=0)  echo "такое уже есть"; exit;
   
 
   // Добавит новую запись

   $query = "insert into база values (перечисляются значения)";

   $result = $conn->query($query);
   if (!$result)
     echo Ошибка;
   else
     echo Гуд;
ну вот алгоритм такой примерно, но эт все надо доводить до ума , под конкретную базу, значения, плюс проверки на правильность введенных данных (ибо незя доверять тому что вводят юзеры). Вобщем ничего сложного, тока послушайте Александра и сделайте по умному форму, гораздо проще буит.

Оффлайн Digger

  • Старожил
  • ****
  • Сообщений: 384
  • Карма: -30
  • Пол: Мужской
  • Нарушение п.1.15. ППФ
    • Просмотр профиля
ну и что нибудь типа:

$conn = db_connect(); //функция коннекта к базе

   // Проверить, не существует ли уже такая запись  треба
ввести какой то уникальный идентификатор, например НИк может
еще чего, чтобы проверять что такое уже есть в базе.

   $query = "select * from база  where identificator='идентификатор'";

   $result = $conn->query($query);
   if (!$result || $result->num_rows!=0)  echo "такое уже есть"; exit;
   
 
   // Добавит новую запись

   $query = "insert into база values (перечисляются значения)";

   $result = $conn->query($query);
   if (!$result)
     echo Ошибка;
   else
     echo Гуд;
ну вот алгоритм такой примерно, но эт все надо доводить до ума , под конкретную базу, значения, плюс проверки на правильность введенных данных (ибо незя доверять тому что вводят юзеры). Вобщем ничего сложного, тока послушайте Александра и сделайте по умному форму, гораздо проще буит.


Ну нельзя по другому((( начальство, понимаете((((
вот конект к базе...


<?php
$rad=$_POST['t1'];
$nick1=$_POST['nick1'];
$nick2=$_POST['nick2'];
$nick3=$_POST['nick3'];
$nick4=$_POST['nick4'];
$nick5=$_POST['nick5'];
$nick6=$_POST['nick6'];
$nick7=$_POST['nick7'];
$nick8=$_POST['nick8'];
$hostname = "localhost";
$username = "root";
$password = "";
$dbName = "phpsite";
$table = "Psychology";
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 time='".$_POST['t1']."', nick='".$_POST["nick"]."', 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\">Вернуться назад[/url]</div>");

?>
Нарушение п.1.15. правил форума.

Оффлайн Digger

  • Старожил
  • ****
  • Сообщений: 384
  • Карма: -30
  • Пол: Мужской
  • Нарушение п.1.15. ППФ
    • Просмотр профиля
Re: Требуется помощь HTML,PHP,MySQL... срочно
« Ответ #10 : 06.04.10, 22:15:52 »
Да и объясните мне что такое Readonly сказали это поможет))))
Нарушение п.1.15. правил форума.

Оффлайн Pavv

  • Ветеран
  • *****
  • Сообщений: 4645
  • Карма: 354
  • Пол: Мужской
  • 007
    • Просмотр профиля
Re: Требуется помощь HTML,PHP,MySQL... срочно
« Ответ #11 : 06.04.10, 22:23:08 »
ВОт перед этим
$query = "INSERT INTO $table SET time='".$_POST['t1']."', nick='".$_POST["nick"]."', data='$cdate'";

нада сделать проверку:
$query = "select * from база  where time='$_POST['t1']'";
$result = $conn->query($query);  т.е. по вашему $result = mysql_query($query) по моему так
if (!$result || $result->num_rows!=0)  echo "такое время уже занято"; exit;

Оффлайн Eugene

  • Ветеран
  • *****
  • Сообщений: 8140
  • Карма: 1727
  • Пол: Мужской
    • Просмотр профиля
Re: Требуется помощь HTML,PHP,MySQL... срочно
« Ответ #12 : 07.04.10, 17:27:16 »
Копирну сюда свой вопрос...

Есть форма проверки доменов на занятость.
Например такая

<form method="post" action="domainchecker.php">
  <div class="contentbox" align="center"> www.<input type="text" name="domain" value="" size="40"><br />
    <table border="0" align="center" cellpadding="10" cellspacing="0">
    <tr>
      <td align="left"><input type="checkbox" checked="checked" name="tlds[]" value="[color=red]ЗНАЧЕНИЯ ЭЛЕМЕНТОВ МАССИВА[/color]">все</td>
      <td align="left"><input type="checkbox" name="tlds[]" value=".ru">.ru</td>
      <td align="left"><input type="checkbox" name="tlds[]" value=".com">.com</td>
    </tr>
    </table>
    <br />
    <input type="submit" id="Submit" value="Проверить">
  </div>
</form>

В ней 3 чекбокса. Данные передаются методом POST. Передается массив значений tlds[]
Т.е. если выбрани чекбоксы .ru и .com то в массиве tlds[] есть 2 этих значения.


Теперь вопрос. Есть 3й чекбокс - все
Надо чтоб при его выборе в массиве tlds[] передавалось 2 значения .ru и .com

Как здесь value="ЗНАЧЕНИЯ ЭЛЕМЕНТОВ МАССИВА" записать эти 2 значения?
Чтобы вас не разнесло, старайтесь не есть после шести и не курить возле бензоколонки.

Оффлайн Pavv

  • Ветеран
  • *****
  • Сообщений: 4645
  • Карма: 354
  • Пол: Мужской
  • 007
    • Просмотр профиля
Re: Требуется помощь HTML,PHP,MySQL... срочно
« Ответ #13 : 07.04.10, 20:51:27 »
2Eugene: вам правильно советовали
value=".ru;.com"

а потом к принятому значению применить следующее:

if ( isset($_POST['tlds[]']) ) {

   $s = $_POST['tlds[]']
   if (strpos($s, ";") != 0) {  // если в строке присутствует разделитель ; то делать это
      $s = explode(";", $s);
      echo $s[0]; // этот элемент будет равен ".ru"
      echo $s[1]; // этот элемент будет равен ".com"
   }
} else echo "Параметр не задан...";

ну вот как то так


Оффлайн rооt#

  • VIP
  • Ветеран
  • *****
  • Сообщений: 20302
  • Пол: Мужской
    • Просмотр профиля
Re: Требуется помощь HTML,PHP,MySQL... срочно
« Ответ #14 : 07.04.10, 22:36:11 »
маньяки

Оффлайн Eugene

  • Ветеран
  • *****
  • Сообщений: 8140
  • Карма: 1727
  • Пол: Мужской
    • Просмотр профиля
Re: Требуется помощь HTML,PHP,MySQL... срочно
« Ответ #15 : 08.04.10, 00:12:15 »
2Pavv

Ну это все понятно, проблема в том, что это должно быть вставлено в файл, обрабатывающий запрос этот.
А файл закодирован и туда вставит ья ниче не могу.

В итоге плюнул и сделал чекбокс который помечает все остальные через js)

function check_all_tld(oForm, cbName, checked)
{
for (var i=0; i < oForm[cbName].length; i++) oForm[cbName][i].checked = checked;
}
Чтобы вас не разнесло, старайтесь не есть после шести и не курить возле бензоколонки.

Оффлайн LEO

  • Ветеран
  • *****
  • Сообщений: 4417
  • Карма: 310
  • Пол: Мужской
    • Просмотр профиля
Re: Требуется помощь HTML,PHP,MySQL... срочно
« Ответ #16 : 08.04.10, 09:34:38 »
2Pavv

В итоге плюнул и сделал чекбокс который помечает все остальные через js)

function check_all_tld(oForm, cbName, checked)
{
for (var i=0; i < oForm[cbName].length; i++) oForm[cbName][i].checked = checked;
}

это, кстати, и есть правильное решение
http://is.gd/fpTeSMПродам книжки про Ajax и ASP.NET, http://is.gd/lDL64HПриглашаю в Dropbox

Оффлайн Alexander

  • Administrator
  • Ветеран
  • *****
  • Сообщений: 16184
  • Карма: 1551
  • Пол: Мужской
  • All bugs rеsеrvеd
    • Просмотр профиля
Re: Требуется помощь HTML,PHP,MySQL... срочно
« Ответ #17 : 08.04.10, 13:10:10 »
это, кстати, и есть правильное решение
+1
В этом случае да.
Намазать стены разной краской, увы, друзья, немудрено.
Хоть и зовут вас «граффитисты», вы как художники — гов*о.
(c)

Оффлайн Eugene

  • Ветеран
  • *****
  • Сообщений: 8140
  • Карма: 1727
  • Пол: Мужской
    • Просмотр профиля
Re: Требуется помощь HTML,PHP,MySQL... срочно
« Ответ #18 : 08.04.10, 14:00:00 »
А еще вопросик про валидатор
Щас полностью валидная XHTML верстка
Но стоит вставить ссылку вида http://billing.domain.ru/cart.php?a=add&pid=1

Сразу начинает ругаться на ее кривизну.
Чтобы вас не разнесло, старайтесь не есть после шести и не курить возле бензоколонки.

Оффлайн Eugene

  • Ветеран
  • *****
  • Сообщений: 8140
  • Карма: 1727
  • Пол: Мужской
    • Просмотр профиля
Re: Требуется помощь HTML,PHP,MySQL... срочно
« Ответ #19 : 08.04.10, 14:04:38 »
Вопрос снят.

&amp; - в помощь )
Чтобы вас не разнесло, старайтесь не есть после шести и не курить возле бензоколонки.