Помощник
|
Объединение переменных |
werd_34
|
Сообщение
#1
|
||
|
|
||
|
|||
fedornabilkin |
13.4.2013, 1:48;
Ответить: fedornabilkin
Сообщение
#2
|
|
Вопрос конкретно поставь, что должно быть.
А то не совсем ясно. А код вообще-то нужно оптимизировать, например так: <?php
function get_select($count){ for($i=0; $i<$count; $i++){ if($i<10) $k = "0".$i; else $k = $i; $html .= '<option value="'.$k.'">'.$k.'</option>'; } return $html; } $html = ' <select name="d"> '.get_select(31).' </select> '; $html .= ' <select name="m">'; '.get_select(12).' </select> '; echo $html; ?> |
|
|
html-ka |
13.4.2013, 2:48;
Ответить: html-ka
Сообщение
#3
|
|
и как обычно дамп данных не делал, чтоб найти ошибку
точка в массива даты не нужна у меня твой код работает, не знаю что у тебя в целом, набросал на коленке: <form>
<?php if (isset($_GET['submit'])) { $date = intval($_GET['d']).".".intval($_GET['d']); echo "<p>Событие произошло: ".$date."</p>"; } echo '<select name="d">'; foreach ($d as $key => $val) { echo '<option value="'.$key.'">'.$val; } echo '</option></select>'; echo '<select name="m">'; foreach ($m as $key => $value) { echo '<option value="'.$key.'">'.$value; } echo '</option></select>'; ?> <input type="submit" value="отправить" name="submit" /> </form> |
|
|
werd_34
|
Сообщение
#4
|
|
Огромное спасибо fedornabilkin, формы с днём и месяцем выводятся отлично. Немного изменил значения для своих нужд (день, месяц).
function get_select($count){ for($i=1; $i<$count; $i++){ if($i<10) $k = "0".$i; else $k = $i; $html .= '<option value="'.$k.'">'.$k.'</option>'; } return $html; } $html = ' <select name="d"> '.get_select(32).' </select> '; $html .= ' <select name="m">; '.get_select(13).' </select> '; echo $html; Но!!!! Ребята, простите мне мою тупость, я не могу эти значения передать в базу (мой код): <td>Дата события(день, месяц): </td><td><input type="text" name="day" class="date_input" value="<?php echo htmlspecialchars ($_SESSION['day']); ?>" /></td> Как мне приравнять мою $_SESSION['day'] к выводимой на экран $html???? P.S. Спасибо, html-ka, но твой вариант не работает. |
|
|
html-ka |
15.4.2013, 6:12;
Ответить: html-ka
Сообщение
#5
|
|
все работает
|
|
|
fedornabilkin |
15.4.2013, 12:28;
Ответить: fedornabilkin
Сообщение
#6
|
|
ТС, ну как же так? Конкретно пожалуйста. Есть это, надо это, делаю так.
Откуда вообще сессии вылезли? Все, что передается в переменные, это происходит в пхп-скрипте. На странице только отображается сформированный код. Поэтому еще разок, откуда и что попадает в сессию (зачем?)? Где это надо вывести/отобразить? И каким боком тут образовалась база данных? |
|
|
werd_34
|
Сообщение
#7
|
|
Вот такой код
<?php session_start(); require "connect.php"; require "ayth.php"; function get_select($count){ for($i=1; $i<$count; $i++){ if($i<10) $k = "0".$i; else $k = $i; $html .= '<option value="'.$k.'">'.$k.'</option>'; } return $html; } $html = ' <select name="d"> '.get_select(32).' </select> '; $html .= ' <select name="m">; '.get_select(13).' </select> '; ?> <!---HTML код---> <table> <form enctype="multipart/form-data" method="post" action="add_event.php"> <tr> <td>Дата события(день, месяц): </td> <td><?php echo $html;?></td> <td><input type="text" name="day" class="date_input" value="<?php echo htmlspecialchars ($_SESSION['day']); ?>" /></td> </tr> <tr> <td colspan="2"> <? php echo $_SESSION['res']; unset($_SESSION['res']); unset($_SESSION['day']); ?> </td> </tr> </form> </table> <!---HTML код---> Открывается сессия, подключаю соединение с базой данных, на этой странице должен ввести день, месяц. Эти данные отправляются в обработчик add_event.php, и если значения записаны (не записаны) в БД, сообщение выводится на странице. Так вот я не могу передать эти выбранные значения (например 02.04) |
|
|
fedornabilkin |
15.4.2013, 15:22;
Ответить: fedornabilkin
Сообщение
#8
|
|
Я понял. Но скорее всего ты их принять не можешь.
И все потому, что ты их не принимаешь. Ты ведь генерируешь форму, выводишь ее на страницу. Потом выбираешь необходимые значения. Нажимаешь... Вот косяк. Сделай кнопку для отправки твоей формы. Данные после нажатия отправятся на твой add_event.php и там уже обрабатывай пост-запрос. Думаю известно, что переданные данный надо искать в массиве $_POST |
|
|
html-ka |
15.4.2013, 17:20;
Ответить: html-ka
Сообщение
#9
|
|
ну так ты же $_SESSION ничего не присваиваешь, отчего она должна отображаться и как обычно отладку не сделал, например print_r($_SESSION);
а как склеивать данные я показал в своем коде выше, называется конкатенация, учи матчасть |
|
|
werd_34
|
Сообщение
#10
|
|
Вот так работает. Есть ли ошибки?
<?php session_start(); require "connect.php"; require "ayth.php"; function get_select($count){ $html = ''; for( $i = 1; $i <= $count; $i++){ if($i<10) $k = "0".$i; else $k = $i; $html .= '<option value="'.$k.'">'.$k.'</option>'; } return $html; } ?> <!---HTML код---> <form method="POST" action=""> <?php if (isset($_REQUEST['send_date'])){ // Пишем в сессию данные $_SESSION['day'] = trim($_REQUEST['day']). '.' .trim($_REQUEST['month']); ?> <hr>Выбранная дата события:<?php echo trim( $_REQUEST['day'] ) . '.' . trim( $_REQUEST['month'] );?><hr> <?php } ?> <table border="0" id="table1"> <tr> <td>день</td> <td>месяц</td> </tr> <tr align="left"> <td align="left"><select name="day"><?php echo get_select(31); ?></select></td> <td align="left"><select name="month"><?php echo get_select(12); ?></select></td> <td><input type="submit" name="send_date" value="Отправить дату"></td> </tr> </table> </form> <?php echo $_SESSION['res']; unset($_SESSION['res']); unset($_SESSION['day']); ?> <!---HTML код---> Спасибо всем за помощь! |
|
|
|
Текстовая версия | Сейчас: 28.3.2024, 15:11 |