Электростальский форум
Hi-Tech => Компьютеры, периферия, мультимедиа и ПО => Тема начата: Digger от 06.04.10, 21:09:14
-
Есть такая форма :
<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) Нужно, чтобы я отметил нужное мне время, в соседней области ввёл текст. И эти данные занеслись в базу данных. А после если другой пользователь вдруг выбрал тоже время, ему сообщили что такое время уже занято.
Пожалуйста помогите... оч надо... реализация только средствами хтмл, пхп, майскул
-
Для начала я бы упростил форму.
<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>
ДЛя остального нужно знать параметры БД и таблицы.
-
Ну если форму не упрощать то вот первый шажок это вот такой:
<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. да и помоему нужно иметь кнопочку по нажатию на которую все что треба будет записываться в базу
-
Для начала я бы упростил форму.
<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 утра завтрашнего дня
-
Ну если форму не упрощать то вот первый шажок это вот такой:
<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. да и помоему нужно иметь кнопочку по нажатию на которую все что треба будет записываться в базу
Ну эти теги разумеется будут)))) и кнопка тоже))))
-
В том то и дело, что требуют именно такую форму как я нарисовал(((
Шлите в опу тех, кто требует такую форму. Это не форма, а головоломка какая-то.
-
Я так понял средствами хтмл нельзя сделать, чтоб только напротив выбранной кнопки можно было бы писать текст.
ну так я привел код сначала все поля скрыты, тыкаешь на определенное время открывается поле рядом, или я чем то не так понял
-
Шлите в опу тех, кто требует такую форму. Это не форма, а головоломка какая-то.
:ay:
-
<?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 Гуд;
ну вот алгоритм такой примерно, но эт все надо доводить до ума , под конкретную базу, значения, плюс проверки на правильность введенных данных (ибо незя доверять тому что вводят юзеры). Вобщем ничего сложного, тока послушайте Александра и сделайте по умному форму, гораздо проще буит.
-
ну и что нибудь типа:
$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>");
?>
-
Да и объясните мне что такое Readonly сказали это поможет))))
-
ВОт перед этим
$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;
-
Копирну сюда свой вопрос...
Есть форма проверки доменов на занятость.
Например такая
<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 значения?
-
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 "Параметр не задан...";
ну вот как то так
-
маньяки
-
2Pavv
Ну это все понятно, проблема в том, что это должно быть вставлено в файл, обрабатывающий запрос этот.
А файл закодирован и туда вставит ья ниче не могу.
В итоге плюнул и сделал чекбокс который помечает все остальные через js)
function check_all_tld(oForm, cbName, checked)
{
for (var i=0; i < oForm[cbName].length; i++) oForm[cbName][i].checked = checked;
}
-
2Pavv
В итоге плюнул и сделал чекбокс который помечает все остальные через js)
function check_all_tld(oForm, cbName, checked)
{
for (var i=0; i < oForm[cbName].length; i++) oForm[cbName][i].checked = checked;
}
это, кстати, и есть правильное решение
-
это, кстати, и есть правильное решение
+1
В этом случае да.
-
А еще вопросик про валидатор
Щас полностью валидная XHTML верстка
Но стоит вставить ссылку вида http://billing.domain.ru/cart.php?a=add&pid=1
Сразу начинает ругаться на ее кривизну.
-
Вопрос снят.
& - в помощь )
-
Никогда не заморачивался этими валидаторами. Зачем они?
-
Никогда не заморачивался этими валидаторами. Зачем они?
Как минимум хороший тон, как максимум +N сумма к заказу на сайт.
-
Как минимум хороший тон, как максимум +N сумма к заказу на сайт.
Ну если сайт гавно, никакая 100-процентная валиднасть xhtml его не спасёт. Практическая польза от этого есть?
-
Ну если сайт гавно, никакая 100-процентная валиднасть xhtml его не спасёт. Практическая польза от этого есть?
кроссбраузерность - весомо?
p.s. если сайт говно, да и еще во всех браузерах по разному показывается - это будет еще хуже )
-
кроссбраузерность - весомо?
p.s. если сайт говно, да и еще во всех браузерах по разному показывается - это будет еще хуже )
Весомо. Но я не встрвечал ни одного браузера, который бы не понимал незакрытые теги <br>, <img> и т. п.
-
Ну ты простые вещи то не бери.
Возьми какую-нибудь сложную менюшку на jquery с CSS3 и заставь ее одинаково показываться во всех браузерах не соблюдая правила кода.
-
2Pavv
Ну это все понятно, проблема в том, что это должно быть вставлено в файл, обрабатывающий запрос этот.
А файл закодирован и туда вставит ья ниче не могу.
все ясно.
-
Ну ты простые вещи то не бери.
Возьми какую-нибудь сложную менюшку на jquery с CSS3 и заставь ее одинаково показываться во всех браузерах не соблюдая правила кода.
Опять я чего-то не понимаю. Я говорю про валидность XHTML. При чём тут CSS и jquery?
-
Опять я чего-то не понимаю. Я говорю про валидность XHTML. При чём тут CSS и jquery?
Есть валидатор и CSS. А про jquery - это я к тому, что сейчас эта штука очень популярная и в инете очень много примеров с ее использованием, они не всегда хорошие и в разных браузерах работают не так как хотелось бы. А валидность и стандартицазия могла бы убрать эти проблемы.
Ну думаю для каждого валидность имеет свое значение - знание правил, порядок в коде, придерживание к стандартам
В инете куча статей по этому поводу
Одна из них - http://ckdev.org.ua/2006/12/16/validnost
-
Если бы ещё и браузеры придерживались одного стандарта, было бы куда лучше =)
-
Если бы ещё и браузеры придерживались одного стандарта, было бы куда лучше =)
всё впереди )
-
всё впереди )
Ага... 4 года не могут договориться =)
-
Ага... 4 года не могут договориться =)
ага. как они договорятся, если не составит труда нагуглить абсолютно валидный примитивный хтмл, который будет отображаться по-разному в 3х разных браузера? =)
-
Опять вопрос. Вот есть например радиокнопка и текстовое поле. Нажимая на радиокнопку стает активным поле. Вводишь текст. НАжимая отправить, должно делаться следующее: Из бд по значению радиокнопки проверяется, если такое значение есть, то сама радиокнопка и текстовое поле должны стать дизаблед и реадонли. Как этого добиться? И еще вот есть две радиокнопки и два текстовых поля. Нажимая на одну радиокнопку рядом текстовое поле становится активно. Как сделать чтобы нажимая вторую радиокнопку стало активно второе текстовое поле, а первое опять стало неактивно.????
-
Ищу вариант как лучше сделать...
есть например index.php и about.php
шаблон для этих страниц подгружается из другого файла например main.inc.php
В main.inc.php есть меню. И есть class="active", который делает пункт меню активным.
Так вот как сделать, чтобы в main.inc.php были все пункты меню не активными
А при заходе на about.php ссылка "О нас" например становилась активной, т.е. чтоб дописывался class="active"
-
Ищу вариант как лучше сделать...
есть например index.php и about.php
шаблон для этих страниц подгружается из другого файла например main.inc.php
В main.inc.php есть меню. И есть class="active", который делает пункт меню активным.
Так вот как сделать, чтобы в main.inc.php были все пункты меню не активными
А при заходе на about.php ссылка "О нас" например становилась активной, т.е. чтоб дописывался class="active"
Можно разобрать глобальную переменную $SCRIPT_NAME и в зависимости от имени файла ставить на кнопочки классы "active".
-
if ($_SERVER['REQUEST_URI']=='/index.php') echo '<a href="index.php" class="active">Главная</a>';
else echo '<a href="index.php">Главная</a>';
-
Единственное когда просто открываешь сайт http://domain.ru он не определяет страницу
пришлось дописать
if ($_SERVER['REQUEST_URI']=='/index.php' or $_SERVER['REQUEST_URI']=='/') echo '<a href="index.php" class="active">Главная</a>';
else echo '<a href="index.php">Главная</a>';
-
<form action="testing.php" method="post">
<table border="1" cellpadding="5">
<tr>
<td><input name="r1" type="radio" value="yak1" onClick="this.form.nick1.disabled=0"/> 20:00-20:30</td>
<td><input type="text" size="60" maxlength="50" name="nick1" disabled="1"></td>
</tr>
<tr>
<td><input name="r1" type="radio" value="yak2" onClick="this.form.nick2.disabled=0" /> 20:30-21:00 </td>
<td><input type="text" size="60" maxlength="50" name="nick2" disabled="1"></td>
</tr>
<tr>
<td><input name="r1" type="radio" value="yak3" onClick="this.form.nick3.disabled=0"/> 21:00-21:30</td>
<td> <input type="text" size="60" maxlength="50" name="nick3" disabled="1"></td>
</tr>
<tr>
<td><input name="r1" type="radio" value="yak4" onClick="this.form.nick4.disabled=0"/> 21:30-22:00 </td>
<td><input type="text" size="60" maxlength="50" name="nick4" disabled="1"></td>
</tr>
</table>
<br>
<p align="left"><input type="submit" name="go" value="ОК"/></p>
</form>
Вот собственно форма. Почему такая, именно такая нужна и больше никакая. Сразу вопрос. Вот щас пока какую нить радио кнопку не нажмешь поле будет заблокировано. Но если нажать одну и потом вторую радио кнопку, будут доступны оба поля. Можно сделать чтоб было доступно только то поле, напротив которого жмёшь кнопку????
<?php
$radio=$_POST['r1'];
$nick1=$_POST['nick1'];
$nick2=$_POST['nick2'];
$nick3=$_POST['nick3'];
$nick4=$_POST['nick4'];
$i=0;
$hostname="localhost";
$username="root";
$password="";
$dbName="test";
$table="testing";
if (empty($radio)) {echo ('<h1>НЕ указано время!</h1>');}
else {
mysql_connect($hostname, $username, $password) or die ("Не могу создать соединение");
mysql_select_db($dbName) or die (mysql_error());
$sql="SELECT time FROM $table";
$res=mysql_query($sql) or die(mysql_error());
$row=mysql_fetch_array($res);
if($row['time']==$radio)
{ echo "Данное время уже есть в базе";}
else {
if (empty($nick1)) {$i++;}
else {
mysql_connect($hostname, $username, $password) or die("Не могу создать соединение");
mysql_select_db($dbName) or die (mysql_error());
$cdate = date("Y-m-d");
$sql = "insert into $table set time='".$_POST['r1']."', nick='".$_POST["nick1"]."', data='$cdate'";
mysql_query($sql) or die(mysql_error());
mysql_close();
echo ("<p><h5>Регистрация успешно завершена!</h5></p><br>
<a href=\"test.html\"><p><h5><u>Вернуться назад</u></h5></p></a>");}
}
}
?>
Вот обработчик формы. Пока только запись в базу включена для первого поля. Но если я записал раз и второй раз туда же, в бд один фиг записываются обе, хотя по идее должен писать мол есть уже такое. Вот вопрос, где ошибка. И можно так сделать, чтоб если например сделали запись по первой радиокнопке и в первое поле, что они блокировались пока есть запись в базе. вот. строго не ругайте, в этом деле я новичок.
Еще вопрос. Есть сайт на друпале. Сделана страница в друпале, в которую вставлен код большой фиксированной по длине и ширине таблицы. Теперь когда сайт полностью развернут, всё в порядке, но когда окно уменьшаешь, сайт уменьшается, а таблица остается... В итоге правая колонка сайта накладывается на страницу. Как сделать чтобы во время уменьшения окна, снизу и справа таблицы появлялись скроллбары.
Очень нуждаюсь в помощи. Надеюсь на Вас. Заранее спасибо.
-
Сразу вопрос. Вот щас пока какую нить радио кнопку не нажмешь поле будет заблокировано. Но если нажать одну и потом вторую радио кнопку, будут доступны оба поля. Можно сделать чтоб было доступно только то поле, напротив которого жмёшь кнопку????
Можно. Средствами javascript.
Вот обработчик формы. Пока только запись в базу включена для первого поля. Но если я записал раз и второй раз туда же, в бд один фиг записываются обе, хотя по идее должен писать мол есть уже такое. Вот вопрос, где ошибка. И можно так сделать, чтоб если например сделали запись по первой радиокнопке и в первое поле, что они блокировались пока есть запись в базе. вот. строго не ругайте, в этом деле я новичок.
Сделайте сначала проверку SELECT id FROM tablename FROM a = 'b' и дальше обработчик, если mysql_select_rows() > 0... else...
Еще вопрос. Есть сайт на друпале. Сделана страница в друпале, в которую вставлен код большой фиксированной по длине и ширине таблицы. Теперь когда сайт полностью развернут, всё в порядке, но когда окно уменьшаешь, сайт уменьшается, а таблица остается... В итоге правая колонка сайта накладывается на страницу. Как сделать чтобы во время уменьшения окна, снизу и справа таблицы появлялись скроллбары.
Очень нуждаюсь в помощи. Надеюсь на Вас. Заранее спасибо.
CSS:
min-width, % вместо px, pt, overflow...