[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: выпадащий список с динамическими значениями
Kumirska
Привет Всем! столкнулся с такой проблемой,нужен выпадающий список в форме заполнения
анкеты где нужно выбрать отдел,в который добавляется сотрудник

<select name="menu" size="1">
<option
value="otd1">отдел 1</option>
<option
selected="selected" value="otd2">отдел 2</option>
<option
value="otd3">отдел 3</option>
</select>


Это строго заданный список, в моем случае нужно извлечь все тайтлы отделов из базы,и
вписать их в этот список!
я сделал что-то вроде:

   include("blocks/base_con.php");
$titles = mysql_query("SELECT title FROM otdel",$db);


<form action="save_user.php" method="post">
...всякие поля для заполнения...
<p><select name="menu" size="1">
<?php

while ($tit = mysql_fetch_assoc($titles))
{
printf( "<option value='%s'>%s</option>", $tit['title']);

}
?>
</select>
</p>


Но список неактивен, в него не попало ни одного элемента



Спустя 1 час, 57 минут, 29 секунд (18.06.2011 - 08:53) m4a1fox написал(а):
В принципе ты где то прав в своем коде. Но орфография храмает. Смотри зачем та используешь printf? Не легче echo? Далее... Помню когда давно начинал Попова проходить у него было вот это - (%s) но это не верно.... Да и к тому же, если мне не изменяет память коли ты уж 2раза перечислил %s то и после запятой необходимо перечислить так же 2значения!

Спустя 9 минут, 11 секунд (18.06.2011 - 09:02) Kumirska написал(а):
m4a1fox , я пробовал вставить переменную,это не помогло, но ты прав,там их по логике должно быть две подряд,однако проблема осталась нерешенной..

Спустя 22 минуты, 5 секунд (18.06.2011 - 09:25) m4a1fox написал(а):
Эх как с йапада не удобно писать код... Но попробую!
Смотри! А если вот так

<form action="save_user.php" method="post">
...
всякие поля для заполнения...
<
select name="menu" size="1">
<?php
while ($tit = mysql_fetch_assoc($titles))
{
echo '<option value='.$tit['title'].'>'.$tit['title'].'</option>';
}
?>
</select>

Попробуй так! Отпишись в тему что получилось!?

Спустя 22 минуты, 37 секунд (18.06.2011 - 09:47) Kumirska написал(а):
m4a1foх эффект тот же
так не охото нагромождать радиобаттонами блин(

Спустя 5 минут, 20 секунд (18.06.2011 - 09:52) Админ написал(а):
Не может не работать - или соединения с базой отсутствует. Давай показывай целиком свой опус.

Спустя 13 минут, 58 секунд (18.06.2011 - 10:06) m4a1fox написал(а):
Админ
Поддерживаю.
Kumirska
Выкладывай код полностью.
А вот это
Цитата
нагромождать радиобаттонами

можно сделать и через foreach. так что это не проблема!)

Спустя 3 минуты, 5 секунд (18.06.2011 - 10:10) linker написал(а):
Сколько уже копьев поломано, неужели так сложно в конец дописывать or die(mysql_erro())? А на момент разработки включать отображение ошибок?
Здесь два варианта, либо что-то с мускулом, либо таблица пустая.

Спустя 55 секунд (18.06.2011 - 10:10) m4a1fox написал(а):
Kumirska
Так попробуй!

include './blocks/base_con.php';

$titles = mysql_query("SELECT title FROM otdel",$db)
or die("Ошибка - ".mysql_error());

<
form action="save_user.php" method="post">
<
select name="menu" size="1">
<?php
if(mysql_num_rows($titles) > 0)
{
while ($tit = mysql_fetch_assoc($titles))
{
echo "<option value=".$tit['title'].">".$tit['title']."</option>";

}
}

else
{
echo 'Какая то лажа с подключением!';
}
?>
</select>

Спустя 2 минуты, 4 секунды (18.06.2011 - 10:13) Kumirska написал(а):
m4a1fox, Админ
Спасибо за помощь! Перед тем как выложить код сюда я все тщательно перепроверил,удалил мусор в виде оставленных мной ранее ненужных комментариев, еще
раз скопировал то что прислал m4a1fox и все заработало! А соединение я проверил циклом вывел массив на экран,все отделы отобразились как надо,поэтому я ислючил проблему с базой и подключением,был уверен что у меня как в синтаксисе формы не так что-то, извините что не предупредил сразу.

<select name="menu" size="1">
<
option selected>Выберите отдел</option>
<?php
while ($tit = mysql_fetch_assoc($titles))
{
echo '
<option value='
.$tit['title'].'>'.$tit['title'].'</
option>'
;
}
?>
</select>


Спасибо Вам за помощь!

Спустя 25 секунд (18.06.2011 - 10:13) m4a1fox написал(а):
Kumirska
Обращайся!

Спустя 16 минут, 2 секунды (18.06.2011 - 10:29) m4a1fox написал(а):
Kumirska
Скопировать то понятно... это пол дела. Но вот разобраться в коде. Это уже дело!

Спустя 54 минуты, 15 секунд (18.06.2011 - 11:23) Kumirska написал(а):
m4a1fox
Я разобрался с этим ! только почему -то у меня в дргуой скрипт методом POST приходит не
"Отдел внедрения" или "Отдел КСПД" а просто "Отдел". В скрипте с формой вывел все отделы
как уже говорил,они все выходят полностью путем цикла вывода переменной $tit['title'],
но вот я вписываю в форму, по логике я должен получить в след скрипте $_POST['menu']
содержащую в себе значение из той формы <option value=".$tit['title'].">, но оно приходит не полностью

<select name="menu" size="1">
<
option selected>Выберите отдел</option>

<?php

while ($tit = mysql_fetch_assoc($titles))
{
echo '<option value='.$tit['title'].'>'.$tit['title'].'</option>';
}
?>
</select>

В принимающем скрипте поставил

echo "ОТДЕЛ --".$_POST['menu'];


Результат : ОТДЕЛ --Отдел

а если ЗАМЕНЯЮ
<select name="menu" size="1">
<
option selected> Выберите отдел </option>

<?php

while ($tit = mysql_fetch_assoc($titles))
{
echo "<option value='.$tit['title'].'>'.$tit['title'].'</option>";
}
?>
</select>
НА

<?php
while ($tit = mysql_fetch_assoc($titles))
echo $tit['title']."<br>";
?>

То выводит все корректно на экран:
Отдел программного обеспечения
Отдел электронного документооборота
Отдел КСПД (Корпоративная сеть передачи данных)
Отдел кадров
Отдел внедрения

Следовательно соединение с базой есть,вывод есть, принимающий скрипт выводит только
Отдел,то вся проблема опять же в форме,то бешь в ее синтаксисе наверна

Спустя 13 минут, 43 секунды (18.06.2011 - 11:37) m4a1fox написал(а):
Kumirska
А ну ка весь код давай сюды. и еще а где форма?

Спустя 3 минуты, 29 секунд (18.06.2011 - 11:40) Kumirska написал(а):

<?php session_start();
if (!empty($_SESSION['login']) and !empty($_SESSION['password']))
{
header('Refresh: 2; URL=index.php');
exit("Внимание! Вы уже зарегестрированы.");
}
include("blocks/bd.php");
$titles = mysql_query("SELECT title FROM otdel",$db);

###while ($tit = mysql_fetch_array($titles)) { echo $tit['title']."<br>";}
?>
<html>
<
head>
<
title>Регистрация</title>
<
link href="style.css" rel="stylesheet" type="text/css" />
</
head>
<
body>
<
p align='center' class="post_reit2">Регистрация.</p>

<
form action="save_user.php" method="post" enctype="multipart/
form-data"
>

<
p>
<
label>Логин<small> &nbsp(не менее 4 символов)</small>:<br></label>

<
input name="login" type="text" size="15" maxlength="15">
</
p>

<
p>
<
label>Пароль:<small> &nbsp(не менее 4 символов)</small>:<br></label>
<
input name="password" type="password" size="15" maxlength="15">
</
p>

<
p>
<
label>Подтвердите пароль:<br></label>
<
input name="password_p" type="password" size="15" maxlength="15">
</
p>

<
p>
Далее, заполните анкету!<br>
Внимание,все поля являются обязятельными для заполнения.
</
p>


<
p>
<
label>Фамилия<br>
<
input type="text" name="fam" id="fam" size="15" maxlength="15"/>
</
label>
</
p>

<
p>
<
label>Имя<br>
<
input type="text" name="name" id="name"size="15" maxlength="15"/>
</
label>
</
p>


<
p>
<
label>Отчество<br>
<
input type="text" name="otch" id="otch"size="15" maxlength="15"/>
</
label>
</
p>

<
select name="menu" size="1">
<
option selected> Выберите отдел </option>

<?php
while ($tit = mysql_fetch_assoc($titles))
{
echo '
<option value='
.$tit['title'].'>'.$tit['title'].'</
option>'
;
}
?>
</select>




<
p>
<
label>Дата рождения (год,месяц,день)<br>
<
input name="date" type="text" id="date" value="1985-01-01" size="15" maxlength="15">
</
label>
</
p>

<
p>
<
label>Фотография (исправьте: foto1.gif).<br> Рекомендуемый размер 150х150 px.<br>
<
input input value="admin/files/workers/foto1.gif" type="text" name="foto" id="foto" size="15" maxlength="15">
</
label>
</
p>

<
p>
<
input type="submit" name="submit" value="Зарегистрироваться"><br>
<
a class='nav_link2' href='main.php'> <<< </a>
</
p>

</
form>
</
body>
</
html>




Принимающий скрипт:
<?php echo "ОТДЕЛ --".$_POST['menu']; ?>

Спустя 2 минуты, 3 секунды (18.06.2011 - 11:42) m4a1fox написал(а):
Kumirska
А пока посмотри вот это. Я только что набросал. Главное улови смысл.

<?php
if (isset ($_POST['ok']))
{
if (isset ($_POST['menu']))
$menu = $_POST['menu'];
}
else
{
$menu = NULL;
}
echo $menu;
?>
<form action="" method="post">
<
select name="menu">
<
option value="меню1">меню1</option>
<
option value="меню2">меню2</option>
<
option value="меню3">меню3</option>
<
option value="меню4">меню4</option>
<
option value="меню5">меню5</option>
<
option value="меню6">меню6</option>
</
select>
<
input type="submit" name="ok" value="Send">
</
form>

А я пока что твой код гдляну.

Спустя 3 минуты, 15 секунд (18.06.2011 - 11:46) m4a1fox написал(а):
Честно мне этот файл бесполезен.
Покажи вот этот

save_user.php

Спустя 12 минут, 44 секунды (18.06.2011 - 11:58) Kumirska написал(а):
а результат : ОТДЕЛ --Отдел.
Я понял что ты написал,я сделал примерно тоже самое,ну разве что с той разницей что у меня
выпадающее меню динамическое.

save_user.php



<?php session_start();
echo "ОТДЕЛ --".$_POST['menu'];
if (isset($_POST['login'],$_POST['password_p'],$_POST['password_p'],$_POST['fam'],
$_POST['name'],$_POST['otch'],$_POST['date'],$_POST['foto'],$_POST['menu']))
{
$login = $_POST['login'];
$password=$_POST['password'];
$password_p=$_POST['password_p'];
$fam = $_POST['fam'];
$name = $_POST['name'];
$otch = $_POST['otch'];
$date = $_POST['date'];
$foto = $_POST['foto'];
$menu = $_POST['menu'];

if (empty($login) or empty($password) or empty($password_p) or empty($fam) or empty($name) or empty($otch)
or empty($date) or empty($foto) or empty($menu))
{
header('Refresh: 2; URL=reg.php');
exit ("Ошибка! Вы заполнили не все
поля."
);
}
else
{
$login = stripslashes($login);
$login = htmlspecialchars($login);
$login = trim($login);

$password = stripslashes($password);
$password = htmlspecialchars($password);
$password = trim($password);

$password_p = stripslashes($password_p);
$password_p = htmlspecialchars($password_p);
$password_p = trim($password_p);

$fam = stripslashes( $fam);
$fam = htmlspecialchars( $fam);
$fam = trim($fam);

$name = stripslashes($name);
$name = htmlspecialchars($name);
$name = trim($name);


$otch = stripslashes($otch);
$otch = htmlspecialchars($otch);
$otch = trim($otch);

/*$date = stripslashes($date);
$date = htmlspecialchars($date);
$date = trim($date);*/


$foto = stripslashes($foto);
$foto = htmlspecialchars($foto);
$foto = trim($foto);



}
include("blocks/bd.php");

$result = mysql_query("SELECT id FROM works WHERE login='$login'",$db);
$myrow = mysql_fetch_assoc($result);

if (!empty($myrow['id']))
{
header('Refresh: 2; URL=reg.php');
exit( "Ошибка! Логин <b>$login</b> уже зарегистрирован. Выберите другой логин." );
}
else
{
if (mb_strlen($login,'utf-8')< 4 or mb_strlen($password,'utf-8')< 4)
{
header('Refresh: 2; URL=reg.php');
exit("Ошибка! Логин и пароль должны состоять не менее чем из 4 символов.");
}
if (mb_strlen($login,'utf-8') > 10 or mb_strlen($password,'utf-8') > 10)
{
header('Refresh: 2; URL=reg.php');
exit("Ошибка! Логин и пароль должны состоять не более чем из 10 символов.");
}
if ($password != $password_p)
{
header('Refresh: 2; URL=reg.php');
exit("Ошибка! Пароли не совпадают.");
}
$prov = mysql_query("SELECT title FROM otdel",$db);

if (mysql_num_rows($prov) > 0)
{
$nazv = mysql_query("SELECT id FROM otdel WHERE title = '$menu'",$db);
$naz = mysql_fetch_assoc($nazv);
$result2 = mysql_query("INSERT
INTO works (name,fam,otch,date,foto,login,password,reiting,q_vote,otdel,title) VALUES
('
$name','$fam','$otch','$date','$foto','$login','$password','0','0','$naz[id]','$menu')",$db);

}
if ($result2==FALSE)
{
echo $_POST
['login'].$_POST['password_p'].$_POST['password_p'].$_POST['fam'].$_POST['name'].$_POST
['otch'].$_POST['date'].$_POST['foto'].$_POST['menu'].$menu.$naz['id'];
die(mysql_error());

#exit("Ошибка! Информация в базу не добавлена.");
}
header('Refresh: 25; URL=index.php');
$_SESSION['password']=$myrow['password'];
$_SESSION['login']=$myrow['login'];
exit("Вы успешно зарегистрированы!");

}

}

else
{
header('Refresh: 2; URL=main.php');
exit( "Ошибка! Несанкционированный доступ.");
}
?>

Спустя 4 минуты, 28 секунд (18.06.2011 - 12:03) m4a1fox написал(а):
Kumirska
Ты меня не слышишь. Покажи код файла save_user.php.
И посмотри что я тебе набросал первым постом в этой теме на 2 странице....

Спустя 57 секунд (18.06.2011 - 12:04) m4a1fox написал(а):
Kumirska
Блин.... С тебя пельмени если сделаю как надо!?

Спустя 2 минуты, 4 секунды (18.06.2011 - 12:06) m4a1fox написал(а):
И нужно время....

Спустя 1 минута, 19 секунд (18.06.2011 - 12:07) Kumirska написал(а):
Не злись m4a1fox , я пока сообщение не добавил твой пост не увидел,хотя страницу
обновлял,у тебя также наверно произошло если ты прислал сообщение после того как я тебе
уже скинул файл save_user.php

Спустя 1 минута, 11 секунд (18.06.2011 - 12:08) m4a1fox написал(а):
Kumirska
Ага!:) Давай разбирать по частям. А то скупом не получится. Готов? Это будет долго....smile.gif

Спустя 4 минуты, 34 секунды (18.06.2011 - 12:13) Kumirska написал(а):
Готов!!!

Спустя 4 минуты, 4 секунды (18.06.2011 - 12:17) m4a1fox написал(а):
Kumirska
Давай....
Вот это

if (isset($_POST['login'],$_POST['password_p'],$_POST['password_p'],$_POST['fam'],
$_POST['name'],$_POST['otch'],$_POST['date'],$_POST['foto'],$_POST['menu']))

Объясни смысл этого (я понимаю что ты тут делаешь....)
Но не проще ли было вот так

if (isset ($_POST['submit']))
{
//тут все остальное.......
}

Спустя 2 минуты, 56 секунд (18.06.2011 - 12:20) Kumirska написал(а):
Ну я ведь присваиваю потом им переменные каждой,то есть


$login = $_POST['login'];
$password=$_POST['password'];
$password_p=$_POST['password_p'];....

а если я не проверю перед этим существует ли вообще например $_POST['password'], это
мне показалост может повлечь ошибку...

Спустя 1 минута, 13 секунд (18.06.2011 - 12:21) m4a1fox написал(а):
Kumirska
Правильно думаешь. Но только мы потом проверим на корректность введеных данных....

Спустя 2 минуты, 18 секунд (18.06.2011 - 12:24) Kumirska написал(а):
Ну и с тем расчетом что все поля являются обязательными для заполнения, плюс если человек
зайдет на страницу напрямую без страницы заполнения формы,то ему выдасться сообщение:

"Ошибка! Несанкционированный доступ." Хотя второе можно было сделать и только проверкой
нажатия кнопки сабмит

Спустя 1 минута, 27 секунд (18.06.2011 - 12:25) m4a1fox написал(а):
Kumirska
Погоди....
Поехали дальше. Ты говоришь что все поля обязательны для заполнения.... Так! Тогда скажи что делает команда isset?

Спустя 1 минута, 57 секунд (18.06.2011 - 12:27) Kumirska написал(а):
m4a1fox
Проверяет существует ли вообще $_POST['login'] например,правильно?
я согласен,она может существовать,но быть пустой,ты это имеешь ввиду??

Спустя 2 минуты, 21 секунда (18.06.2011 - 12:29) m4a1fox написал(а):
Kumirska
Абсолютно верно! Понимаешь например вот так

if (isset ($_POST['login']))

Она полюбому будет существовать независимо от того пуста она или нет.

А вот так

if (!empty ($_POST['login']))

Уже проверит на пустоту.


Спустя 2 минуты, 45 секунд (18.06.2011 - 12:32) m4a1fox написал(а):
Быстро метнемся в файлу с формой, пока я увидел, вот так

<label>Фотография (исправьте: foto1.gif).<br> Рекомендуемый размер 150х150 px.<br>
<input
input value="admin/files/workers/foto1.gif" type="text" name="foto" id="foto" size="15" maxlength="15">
</label>


Нельзя делать.
Нужно вот так

<label>Фотография (исправьте: foto1.gif).<br> Рекомендуемый размер 150х150 px.<br>
<input
type="file" name="foto" id="foto">
</label>


Спустя 6 минут, 33 секунды (18.06.2011 - 12:39) Kumirska написал(а):
я придумал как сделать проще! я в скрипте save_user.php
поставил вот это в самом верху:


<?php session_start();
echo "ОТДЕЛ --".$_POST['menu'];
exit;
?>



Применил,вывод на экран остался тем же "ОТДЕЛ --Отдел", хотя я выбрал "Отдел электронного документооборота".

как думаешь стоит копать в файле save_user.php ?

Так я не загружаю пока картинку обзором,я всего лишь использую текстовое поле для ввода названия фотки,которую сам заношу в нужную папку,я просто еще не разбирался с загрузкой файла на сервер, там проверки расширения и размера и тп,это еще пока темный лес для меня,я сделал простое поле текстовое куда надо ввести название фотки,в итоге сохраняется путь к файлу в базе,по-дилетатски,но это временно =)

Спустя 4 минуты, 29 секунд (18.06.2011 - 12:43) m4a1fox написал(а):
Kumirska
Так я покурил и снова здеся. Тогда давай вообще по другому сделаем..... Скопируй только вывод и подключение к БД в отдельный файл, естественно форму не забудь и покажи его мне....!

Спустя 6 минут, 16 секунд (18.06.2011 - 12:49) Kumirska написал(а):
m4a1fox
Подключение(файл blocks/bd.php):

<?php
$db = mysql_connect("localhost","bloguser","123") or die(mysql_error());
mysql_select_db("mark",$db);

mysql_query("set names utf8");
?>


Форма(файл reg.php):


<?php session_start();
if (!empty($_SESSION['login']) and !empty($_SESSION['password']))
{
header('Refresh: 2; URL=index.php');
exit("Внимание! Вы уже зарегестрированы.");
}
include("blocks/bd.php");
$titles = mysql_query("SELECT title FROM otdel",$db);

?>
<html>
<
head>
<
title>Регистрация</title>
<
link href="style.css" rel="stylesheet" type="text/css" />
</
head>
<
body>
<
p align='center' class="post_reit2">Регистрация.</p>

<
form action="save_user.php" method="post" enctype="multipart/
form-data"
>

<
p>
<
label>Логин<small> &nbsp(не менее 4 символов)</small>:<br></label>

<
input name="login" type="text" size="15" maxlength="15">
</
p>

<
p>
<
label>Пароль:<small> &nbsp(не менее 4 символов)</small>:<br></label>
<
input name="password" type="password" size="15" maxlength="15">
</
p>

<
p>
<
label>Подтвердите пароль:<br></label>
<
input name="password_p" type="password" size="15" maxlength="15">
</
p>

<
p>
Далее, заполните анкету!<br>
Внимание,все поля являются обязятельными для заполнения.
</
p>


<
p>
<
label>Фамилия<br>
<
input type="text" name="fam" id="fam" size="15" maxlength="15"/>
</
label>
</
p>

<
p>
<
label>Имя<br>
<
input type="text" name="name" id="name"size="15" maxlength="15"/>
</
label>
</
p>


<
p>
<
label>Отчество<br>
<
input type="text" name="otch" id="otch"size="15" maxlength="15"/>
</
label>
</
p>


<
select name="menu" size="1">
<
option selected> Выберите отдел </option>

<?php
while ($tit = mysql_fetch_assoc($titles))
{
echo '<option value='.$tit['title'].'>'.$tit['title'].'
</option>'
;
}
?>
</select>




<
p>
<
label>Дата рождения (год,месяц,день)<br>
<
input name="date" type="text" id="date" value="1985-01-01" size="15" maxlength="15">
</
label>
</
p>

<
p>
<
label>Фотография (исправьте: foto1.gif).<br> Рекомендуемый размер 150х150 px.<br>
<
input input value="admin/files/workers/foto1.gif" type="text" name="foto" id="foto" size="15" maxlength="15">
</
label>
</
p>

<
p>
<
input type="submit" name="submit" value="Зарегистрироваться"><br>
<
a class='nav_link2' href='main.php'> <<< </a>
</
p>

</
form>
</
body>
</
html>


Файл save_user.php:


<?php session_start();
echo "ОТДЕЛ --".$_POST['menu'];
exit;
?>


Вывод на экран скриптом save_user:

ОТДЕЛ --Отдел

Спустя 6 минут, 23 секунды (18.06.2011 - 12:56) m4a1fox написал(а):
Kumirska
Ладно! Тогда давай так...
Только сначала ответь на вопрос...
Почему ты назвал файл bd.php?

include("blocks/bd.php");

Спустя 6 минут, 59 секунд (18.06.2011 - 13:03) Kumirska написал(а):
m4a1fox
Я понял твой намёк! И ты прав,я слушал и смотрел эти уроки когда-то! а скрипты старые,еще
пол года назад когда я тока открыл для себя php. Сейчас я поменял немного тактику, что-то
с форума узнаю новое,что-то с книги,пытаюсь реализовать испольузя старые нароботки как
платформу для экспериментов,но старый сайт который не похож
уже визуально нисколько на тот что излагался в курсе, выдает корни путем каких-то
обозначений!
И я кстати просматривал курс реалибитации изложенный здесь на сайте, узнал нового много,
и видел что bd и db не имеют большой разницы в качестве названий переменных,но всё же выдают!

Спустя 4 минуты, 12 секунд (18.06.2011 - 13:07) m4a1fox написал(а):
Kumirska
Ясно.... Я тоже начинал так.
Во первых тебе надо срочно сюда. Если ты тут не был... В противном случае поехали дальше...
Вот тебе файл db.php
Так вот этот скрипт сохрани в файле db.php


Файл db.php (потому что database)

/**
* We establish the charset and level of errors
* Устанавливаем кодировку и уровень ошибок
*/

header("Content-Type: text/html; charset=utf-8");
error_reporting(E_ALL);

// Имя сервера базы данных, например $dblocation = "mysql28.noweb.ru"
// сейчас выставлен сервер локальной машины

$dblocation = "localhost";
// Имя базы данных, на хостинге или локальной машине
$dbname = "mark";
// Имя пользователя базы данных
$dbuser = "bloguser";
// Пароль
$dbpasswd = "123";
// Версия Web-приложения
$version = "1.2.0";

// Соединяемся с сервером базы данных
$dbcnx = @mysql_connect($dblocation,$dbuser,$dbpasswd);
if (!$dbcnx)
{
echo( "<P>В настоящий момент сервер базы данных не доступен, поэтому корректное отображение страницы невозможно.</P>" );
exit();
}
// Выбираем базу данных
if (! @mysql_select_db($dbname,$dbcnx) )
{
echo( "<P>В настоящий момент база данных не доступна, поэтому корректное отображение страницы невозможно.</P>" );
exit();
}
@mysql_query("SET NAMES UTF8");

Спустя 40 секунд (18.06.2011 - 13:08) m4a1fox написал(а):
Если готово то напиши.... будем маленькими шажочками))

Спустя 3 минуты, 9 секунд (18.06.2011 - 13:11) m4a1fox написал(а):
Еще. Вверху у тебе вот это

<?php session_start();
if (!empty($_SESSION['login']) and !empty($_SESSION['password']))
{
header('Refresh: 2; URL=index.php');
exit("Внимание! Вы уже зарегестрированы.");
}

Так тоже я думаю не получится. Так как $_SESSION действетелен, пока нахожусь в интернете, но если я выключу комп, и снова включу и зайду на твой сайт, то регистратор меня без проблем пустит.... Всвязи с этим предлоагаю пока что избавиться от них.... Мы к ним вернемся но позже...
Поэтому шапка твоей странице будет
'
<?php
include '
./blocks/bd.php';
?>


Спустя 3 минуты, 11 секунд (18.06.2011 - 13:14) Kumirska написал(а):
Готово, создал db.php и поменял инклюд в reg.php на include("./blocks/db.php");

Спустя 3 минуты, 18 секунд (18.06.2011 - 13:17) m4a1fox написал(а):
Kumirska
Так. Давай сразу правильно и красиво кодить. Опыта у меня не много.... конечно, любой эксперт бы тебе сразу сказал что не работает, но я не эксперт, я учусь. Поэтому не серчай...
Так вот. Буду тебе рассказывать, что в свое время мне рассказывали inpost, twin и так далее...

Спустя 3 минуты, 40 секунд (18.06.2011 - 13:21) m4a1fox написал(а):
Сразу. Запомни, любой файл кот. ты подключаешь includ'ам, правильно подключать не

include("./blocks/db.php");

а

include './blocks/db.php';

вот так.

Спустя 2 минуты, 49 секунд (18.06.2011 - 13:24) Админ написал(а):
Цитата
Вывод на экран скриптом save_user:

ОТДЕЛ --Отдел

детский сад блин. А в базе то у тебя что забито в таблице otdel ?

Спустя 3 минуты, 29 секунд (18.06.2011 - 13:27) m4a1fox написал(а):
Админ
Ну погоди ты. Человек учится.... Дай понять то....smile.gif

Спустя 1 минута, 22 секунды (18.06.2011 - 13:29) Админ написал(а):
m4a1fox
ОК
(Пусть ДАО озаряет путь)

Спустя 2 минуты, 1 секунда (18.06.2011 - 13:31) m4a1fox написал(а):
Админ
Спасибо....) Он видимо на irbise застрял....

Спустя 3 минуты, 54 секунды (18.06.2011 - 13:34) Kumirska написал(а):
Админ
11 полей
id,name,title,meta_d,meta_k,logo,reiting,view,description,text,kolvo_sotr
Если заменить в скрипте reg.php

<select name="menu" size="1">
<
option selected> Выберите отдел </option>

<?php
while ($tit = mysql_fetch_assoc($titles))
{
echo '
<option value='
.$tit['title'].'>'.$tit['title'].'</
option>'
;
}
?>
</select>

на


<?php
while ($tit = mysql_fetch_assoc($titles))
{
echo $tit['title']."<br>";
}
?>

Результат:
Отдел программного обеспечения
Отдел электронного документооборота
Отдел КСПД (Корпоративная сеть передачи данных)
Отдел кадров
Отдел внедрения

меня начальник позвал..

Спустя 3 минуты, 18 секунд (18.06.2011 - 13:38) Kumirska написал(а):
Следовательно все нужные отделы извлекаются, выводятся,но формой не послыаются в save_user.php так как приходит только "Отдел" во всех случаях..

Спустя 5 минут, 21 секунда (18.06.2011 - 13:43) m4a1fox написал(а):
Kumirska
Цитата
меня начальник позвал..

Понимаю....
Итак продолжим... Вот собственно твой скрипт

<?php
include './blocks/bd.php';
if (isset ($_POST['submit']))
{
if (isset($_POST['menu']))
$menu = $_POST['menu'];

}
echo $menu;
?>
<form action="" method="post">
<
select name="menu" size="1">
<?php
$titles = mysql_query("SELECT title FROM otdel") or die ("Ошибка - ".mysql_error ());
while ($tit = mysql_fetch_assoc($titles))
{
echo '<option value='.$tit['title'].'>'.$tit['title'].'</option>';
}
?>
</select>
<
input type="submit" name="submit" value="Отправить" />
</
form>

Пробуй... отпишись что получится?!

Отредактировал. Попробуй еще раз!

Спустя 10 минут, 26 секунд (18.06.2011 - 13:54) Kumirska написал(а):
Notice: Undefined variable: menu in C:\apache\localhost\www\mark\save_user.php on line 9

И список выпадающий еще под надписью.
Выбираю "отдел электронного докум-та" нажимаю отправить,ошибка исчезает,срабатывает
вывод echo, выводит на тем же выпадающим списком теперь "Отдел"

Спустя 1 минута, 28 секунд (18.06.2011 - 13:55) m4a1fox написал(а):
Вот так

<?php
include './blocks/bd.php';
if (isset ($_POST['submit']))
{
if (isset($_POST['menu']))
$menu = $_POST['menu'];
else
$menu = '';

}
echo $menu;
?>

Спустя 1 минута, 2 секунды (18.06.2011 - 13:56) Kumirska написал(а):
m4a1fox
И редактированный тоже самое выдает, ошибки SqL не выводит

Спустя 1 минута, 49 секунд (18.06.2011 - 13:58) m4a1fox написал(а):
Добавь перед формой вот это

<div style="display: block">
<?php
$titles = mysql_query("SELECT title FROM otdel");
if (mysql_num_rows($titles) > 0)
{
while ($result = mysql_fetch_assoc($titles))
{
echo $result['title'];
}
}

else
{
echo 'Бля, да тут пусто....';
}
?>
</div>

Спустя 1 минута, 21 секунда (18.06.2011 - 13:59) Kumirska написал(а):
Notice: Undefined variable: menu in C:\apache\localhost\www\mark\save_user.php on line 11
теперь в 11 строчке, тоже самое тока в 11 строчке,не понимает кто такая переменная

это становиться уже странно,проще некуда ведь..
и при выборе выводит также Отдел
а это может быть свзано что он выводит только первое слова из названия всего отдела??

Спустя 3 минуты, 22 секунды (18.06.2011 - 14:03) m4a1fox написал(а):
Создай в корне файл toop.php
и засунь этот код

<?php
include './blocks/bd.php';
if (isset ($_POST['submit']))
{
if (isset($_POST['menu']))
$menu = $_POST['menu'];
else
$menu = '';

}
echo $menu;
?>
<div style="display: block">
<?php
$titles = mysql_query("SELECT title FROM otdel");
if (mysql_num_rows($titles) > 0)
{
while ($result = mysql_fetch_assoc($titles))
{
echo $result['title'];
}
}

else {
echo 'Бля.. Да тут же пусто!!!!';
}
?>
</div>
<
form action="" method="post">
<
select name="menu" size="1">
<?php
$titles = mysql_query("SELECT title FROM otdel");
while ($tit = mysql_fetch_assoc($titles))
{
echo '<option value='.$tit['title'].'>'.$tit['title'].'</option>';
}
?>
</select>
<
input type="submit" name="submit" value="Отправить" />
</
form>

в него, а потом запусти.... А результат скопируй и сюда давай.

Спустя 1 минута, 31 секунда (18.06.2011 - 14:04) Kumirska написал(а):

<?php
$titles = mysql_query("SELECT title FROM otdel");
if (mysql_num_rows($titles) > 0)
{
while ($result = mysql_fetch_assoc($titles))
{
echo $result['title']."<br>";
}
}

else
{
echo 'Бля, да тут пусто....';
}
?>
</div>
?>
<form action="" method="post">
<
select name="menu" size="1">
<?php
$titles = mysql_query("SELECT title FROM otdel") or die ("Ошибка - ".mysql_error ());
while ($tit = mysql_fetch_assoc($titles))
{
echo '<option value='.$tit['title'].'>'.$tit['title'].'</option>';
}
?>
</select>
<
input type="submit" name="submit" value="Отправить" />
</
form>


Вывод на экран:

Отдел программного обеспечения
Отдел электронного документооборота
Отдел КСПД (Корпоративная сеть передачи данных)
Отдел кадров
Отдел внедрения

Спустя 37 секунд (18.06.2011 - 14:05) m4a1fox написал(а):
Или вот этот. Тупо скопируй его
<?php
include './blocks/bd.php';
if (isset ($_POST['submit']))
{
if (isset($_POST['menu']))
$menu = $_POST['menu'];
else
$menu = '';

}
echo $menu;
?>
<div style="display: block">
<?php
$titles = mysql_query("SELECT title FROM otdel");
if (mysql_num_rows($titles) > 0)
{
while ($result = mysql_fetch_assoc($titles))
{
echo $result['title'];
}
}

else {
echo 'Бля.. Да тут же пусто!!!!';
}
?>
</div>
<
form action="" method="post">
<
select name="menu" size="1">
<?php
$titles = mysql_query("SELECT `title` FROM `otdel`") or die ("Ошибка - ".mysql_error());
while ($tit = mysql_fetch_assoc($titles))
{
echo '<option value='.$tit['title'].'>'.$tit['title'].'</option>';
}
?>
</select>
<
input type="submit" name="submit" value="Отправить" />
</
form>

Спустя 1 минута, 51 секунда (18.06.2011 - 14:07) m4a1fox написал(а):
Kumirska
Ага! Значит там не пусто. Ясно. Можно смело удаль текст между <div style="display: block;">.......</div>

Спустя 1 минута, 26 секунд (18.06.2011 - 14:08) m4a1fox написал(а):
Kumirska
Попробуй так

<?php
include './blocks/bd.php';
if (isset ($_POST['submit']))
{
if (isset($_POST['menu']))
$menu = $_POST['menu'];
else
$menu = '';

}
echo $menu;
?>
<form action="" method="post">
<
select name="menu" size="1">
<?php
$titles = mysql_query("SELECT `title` FROM `otdel`") or die ("Ошибка - ".mysql_error());
while ($tit = mysql_fetch_assoc($titles))
{
echo '<option value='.$tit['title'].'>'.$tit['title'].'</option>';
}
?>
</select>
<
input type="submit" name="submit" value="Отправить" />
</
form>


если не работает то давай суда исходный код html с браузера.

Спустя 8 минут, 13 секунд (18.06.2011 - 14:16) Kumirska написал(а):
исходный код до отправки или после?

Спустя 55 секунд (18.06.2011 - 14:17) m4a1fox написал(а):
До!

Спустя 44 секунды (18.06.2011 - 14:18) Kumirska написал(а):
<br />
<b>Notice</b>: Undefined variable: menu in <b>C:\apache\localhost\www\mark\save_user.php</b> on line <b>11</b><br />
<form action="" method="post">
<select name="menu" size="1">
<option value=Отдел программного обеспечения>Отдел программного обеспечения</option>
<option value=Отдел электронного документооборота>Отдел электронного документооборота</option>
<option value=Отдел КСПД (Корпоративная сеть передачи данных)>Отдел КСПД (Корпоративная сеть передачи данных)</option>
<option value=Отдел кадров>Отдел кадров</option><option value=Отдел внедрения>Отдел внедрения</option>
</select>
<input type="submit" name="submit" value="Отправить" />
</form>

Спустя 2 минуты, 16 секунд (18.06.2011 - 14:20) m4a1fox написал(а):
А вот такой код

<?php
include './blocks/db.php';
if (isset ($_POST['submit']))
{
if (isset($_POST['menu']))
$menu = $_POST['menu'];
else
$menu = '';

}
echo $menu;
?>
<form action="" method="post">
<
select name="menu" size="1">
<?php
$titles = mysql_query("SELECT `title` FROM `otdel`") or die ("Ошибка - ".mysql_error());
while ($tit = mysql_fetch_assoc($titles))
{
echo '<option value='.$tit['title'].'>'.$tit['title'].'</option>';
}
?>
</select>
<
input type="submit" name="submit" value="Отправить" />
</
form>

Спустя 4 минуты, 6 секунд (18.06.2011 - 14:24) Kumirska написал(а):
m4a1fox
<br />
<b>Notice</b>: Undefined variable: menu in <b>C:\apache\localhost\www\mark\save_user.php</b> on line <b>11</b><br />
<form action="" method="post">
<select name="menu" size="1">
<option value=Отдел программного обеспечения>Отдел программного обеспечения</option>
<option value=Отдел электронного документооборота>Отдел электронного документооборота</
option>
<option value=Отдел КСПД (Корпоративная сеть передачи данных)>Отдел КСПД
(Корпоративная сеть передачи данных)</option>
<option value=Отдел кадров>Отдел кадров</option><option value=Отдел внедрения>Отдел
внедрения</option>
</select>
<input type="submit" name="submit" value="Отправить" />
</form>

Исходный код такой же

Спустя 3 минуты, 10 секунд (18.06.2011 - 14:27) m4a1fox написал(а):
))) Это уже интересно
Давай вот такой вариант

<?php
include './blocks/db.php';
if (isset($_POST['submit']))
{
if (isset($_POST['menu']))
echo $_POST['menu'];
else
echo 'Надо отправить запрос';

}

?>
<form action="" method="post">
<
select name="menu" size="1">
<?php
$titles = mysql_query("SELECT `title` FROM `otdel`") or die ("Ошибка - ".mysql_error());
while ($tit = mysql_fetch_assoc($titles))
{
echo '<option value='.$tit['title'].'>'.$tit['title'].'</option>';
}
?>
</select>
<
input type="submit" name="submit" value="Отправить" />
</
form>

Спустя 2 минуты (18.06.2011 - 14:29) Kumirska написал(а):
пропал контент выпадающего списка,пусто! ну это и логично,у меня нет таблицы "menu"

Спустя 2 минуты, 58 секунд (18.06.2011 - 14:32) m4a1fox написал(а):
ЭЭЭЭэээээээ там при выборе поменяй FROM `menu` на FROM `otdel`;

Спустя 1 минута, 57 секунд (18.06.2011 - 14:34) Kumirska написал(а):
m4a1fox
почему ошибка пропала? остался выпадающий список с наполнением только,но при отправке приходит только "Отдел"

Спустя 5 минут, 43 секунды (18.06.2011 - 14:40) m4a1fox написал(а):
Вот! Сейчас точно должно работать

<?php
include './blocks/db.php';
if (isset ($_POST['submit']))
{
if (isset($_POST['menu']))
echo $_POST['menu'];
else
echo 'Блин чу происходит?';

}
?>
<form action="" method="post">
<
select name="menu" size="1">
<?php
$titles = mysql_query("SELECT `title` FROM `otdel`") or die ("Ошибка - ".mysql_error());
while ($tit = mysql_fetch_assoc($titles))
{
echo '<option value="'.$tit['title'].'">'.$tit['title'].'</option>';
}
?>
</select>
<
input type="submit" name="submit" value="Отправить" />
</
form>

Спустя 1 минута, 45 секунд (18.06.2011 - 14:42) m4a1fox написал(а):
Все! Теперь она обязана работать.....

Спустя 34 секунды (18.06.2011 - 14:42) Kumirska написал(а):
m4a1fox

я тут натыкал =)
в ощем строчку отредактировал малёк:


echo "<option value='$tit[title]'>$tit[title]</option>";


Пришло долгожданное:


Отдел электронного документооборота<form action="" method="post">
<select
name="menu" size="1">
<option
value='Отдел программного обеспечения'>Отдел программного обеспечения</
option>
<option value='Отдел электронного документооборота'>Отдел электронного
документооборота</option>
<option
value='Отдел КСПД (Корпоративная сеть передачи данных)'>Отдел КСПД
(Корпоративная сеть передачи данных)</option>
<option
value='Отдел кадров'>Отдел кадров</option><option value='Отдел
внедрения'
>Отдел внедрения</option>
</select>
<input
type="submit" name="submit" value="Отправить" />
</form>


Спустя 1 минута, 52 секунды (18.06.2011 - 14:44) Kumirska написал(а):
убрал экранирование, что-то было в нем не так, твой вариант сработал тоже! прям сразу 2 решения и какой же выбрать biggrin.gif

Спустя 1 минута, 29 секунд (18.06.2011 - 14:46) m4a1fox написал(а):
Да все.... Разобрались. Банальная ошибка.... но не без них)

Спустя 9 минут, 25 секунд (18.06.2011 - 14:55) Kumirska написал(а):
m4a1fox
Спасибо тебе Большое за внимание и помощь! плюсанул бы еще раз,да нельзя 2 раза за
день wink.gif

и Ура,домой!

Спустя 21 секунда (18.06.2011 - 14:55) m4a1fox написал(а):
Сам решай. Но я например всегда стараюсь делать так

echo '<option value="'.$tit['title'].'">'.$tit['title'].'</option>';

Спустя 1 минута, 1 секунда (18.06.2011 - 14:56) m4a1fox написал(а):
Дальше поехали????? У меня есть еще часа 2!

Спустя 21 минута, 35 секунд (18.06.2011 - 15:18) m4a1fox написал(а):
Видимо нет!:)

Спустя 1 день, 17 часов, 14 минут, 2 секунды (20.06.2011 - 08:32) Kumirska написал(а):
Я ДОМОЙ УШЕЛ! У МЕНЯ ДО 6 РАБОЧИЙ ДЕНЬ =)


_____________
никому не дано знать абсолютной истины, ибо понятия, которыми мы оперируем, сами по себе относительны
Быстрый ответ:

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