<?php
function fonts_choose(){
echo '<select name="number" size="1">'."\r\n";
$fonts=array('1','2');
foreach ($fonts as $num => $font) {
$selected_font = '';
if ($_POST['number'] == $font) {
$selected_font = 'selected';
return $font;
}
echo "<option value=\"" . $font . "\" " . $selected_font . ">" . $font . "</option>"."\r\n";
}
echo '</select>'."\r\n";;
echo '<input type="submit" name="ok" value="OK" >';
return $font;
}
fonts_choose();
echo $font;
?>
но почему-то ничего не выводит..
в чем ошибка, что не доделано?
Спустя 2 минуты, 42 секунды (3.04.2012 - 11:52) Игорь_Vasinsky написал(а):
если в функции return - то вызов функции
но здаётся мне ты что то большое хочешь из функции вывестиЮ типа куска формы.
echo fonts_choose();
но здаётся мне ты что то большое хочешь из функции вывестиЮ типа куска формы.
Спустя 1 час, 24 минуты, 44 секунды (3.04.2012 - 13:17) nikki4 написал(а):
немного подправил код.. но почему-то при нажатии на кнопку ничего не выводится
да это функция создает поле со списком в котором выбирается шрифт, вот надо, чтоб результат выбранный сохранилс яв переменную, а почему-то не сохраняется
<?php
function fonts_choose(){
echo '<select name="number" size="1">'."\r\n";
$fonts=array('1','2');
foreach ($fonts as $num => $font) {
$selected = '';
if ($_POST['number'] == $font) {
$selected = 'selected';
return $font;
}
echo "<option value=\"" . $font . "\" " . $selected . ">" . $font . "</option>"."\r\n";
}
echo '</select>'."\r\n";;
echo '<input type="submit" name="ok" value="OK" >';
}
echo fonts_choose();
?>
да это функция создает поле со списком в котором выбирается шрифт, вот надо, чтоб результат выбранный сохранилс яв переменную, а почему-то не сохраняется
Спустя 15 минут, 14 секунд (3.04.2012 - 13:32) Игорь_Vasinsky написал(а):
я не понял к чему такие извращения - но тут 2мя путями можно (хотя я бы ни один из них не юзал - т.к. всё это ахинея)
1. Беферизация
2. Склейка строки (глушу $_POST - по сути нужно isset() или тернарный оператор)
но это всё глупая реализация.
1. Беферизация
<?php
function fonts_choose(){
ob_start();
echo '<select name="number" size="1">'."\r\n";
$fonts=array('1','2');
foreach ($fonts as $num => $font)
{
$selected_font = '';
if ($_POST['number'] == $font)
{
$selected_font = 'selected';
return $font;
}
echo "<option value=\"" . $font . "\" " . $selected_font . ">" . $font . "</option>"."\r\n";
}
echo '</select>'."\r\n";;
echo '<input type="submit" name="ok" value="OK" >';
$content = ob_get_contents();
ob_end_clean();
return $content;
}
echo fonts_choose();
2. Склейка строки (глушу $_POST - по сути нужно isset() или тернарный оператор)
<?php
function fonts_choose(){
$content = '<select name="number" size="1">'."\r\n";
$fonts=array('1','2');
foreach ($fonts as $num => $font)
{
$selected_font = '';
if (@$_POST['number'] == $font)
{
$selected_font = 'selected';
return $font;
}
$content .= "<option value=\"" . $font . "\" " . $selected_font . ">" . $font . "</option>"."\r\n";
}
$content .= '</select>'."\r\n";;
$content .= '<input type="submit" name="ok" value="OK" >';
return $content;
}
echo fonts_choose();
?>
но это всё глупая реализация.
Спустя 20 минут, 24 секунды (3.04.2012 - 13:53) nikki4 написал(а):
Как же тогда на Ваш взгляд это можно сделать правильно?
(кстати оба варианта выше тоже не работают.. при нажатию на кнопку не выводится полученный результат)
ураа получилось ))
методом тыка, что-то сделал..
в итоге заработало:
(кстати оба варианта выше тоже не работают.. при нажатию на кнопку не выводится полученный результат)
ураа получилось ))
методом тыка, что-то сделал..
в итоге заработало:
<?php
function fonts_choose(){
echo '<form method="post"><select name="number" size="1">'."\r\n";
$fonts=array('1','2');
foreach ($fonts as $num => $font) {
$selected = '';
if ($_POST['number'] == $font) {
$selected = 'selected';
}
echo "<option value=\"" . $font . "\" " . $selected . ">" . $font . "</option>"."\r\n";
}
echo '</select>'."\r\n";;
echo '<input type="submit" name="ok" value="OK" ></form>';
}
echo fonts_choose();
If ($_POST['number']){
ECHO $_POST['number'];
}
?>
Спустя 1 час, 12 минут, 20 секунд (3.04.2012 - 15:05) killer8080 написал(а):
Цитата (nikki4 @ 3.04.2012 - 13:53) |
echo fonts_choose(); |
зачем делать echo, когда функция и так сама выводит контент?
Спустя 5 минут, 48 секунд (3.04.2012 - 15:11) Игорь_Vasinsky написал(а):
ну вот так вот он.. у кого-то же подпись была - работает - нетрогай.