[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: HTML and PHP
dantist
Добрый день.
возникла проблема вот текст на HTML в нем пользователь вводит месяц и год
<form method="post" action="101.php">
ГОД: <input type="text" size="4" name="year"/><br />
Месяц: <input type="text" size="1" name="mon" /><br />
<input type="submit" value="ок"/>
</form>
На PHP написал функцию календаря
function calendar($month,$year)

теперь необходимо вывести его
ECHO calendar(9,2013). т.е. выводим сентябрь 2013 года.
Вывожу календарь следующим образом:
ECHO calendar($A,$B)

Вопрос:
Каким образом мне приравнять к $A то что он пользователь введет вот в этой строчке
Месяц: <input type="text" size="1" name="mon" /><br />
TranceIT
echo calendar($_POST['month'], $_POST['year']);




_____________
Безвозмездно помогаю только тем, кто сам пытается что-то сделать.

Остальным за WMR
Даже если там 10 строк кода!
Даже если мне это ничего не стоит!
Даже если вы нуб!

user posted image
Bolik
echo calendar($_POST['month'], $_POST['year']); рай для начинающего хакера smile.gif
vagrand
Bolik
Цитата
echo calendar($_POST['month'], $_POST['year']); рай для начинающего хакера


Интересно что вы тут такого усмотрели?

_____________
Senior PHP developer: PHP5, MySQL, JavaScript, CakePHP, Yii/Yii2, Zend Framework, Smarty, XML/Xslt, JQuery, Jquery Mobile, Bootstrap, ExtJS, HTML, HTML5, CSS, Linux, SVN, Git, Memcached, Redis, MongoDB, Zend Guard, Ioncube, FFMpeg, PayPal, Webmoney, Qiwi, Facebook API, Vkontakte Api, Google API, Twitter Api, Steam Api.
Junior Android Developer: Android SDK, многопоточность, работа с HTTP запросами, JSON, SQLite, фрагменты.
TranceIT
Цитата (Bolik @ 9.09.2013 - 12:55)
echo calendar($_POST['month'], $_POST['year']); рай для начинающего хакера 

Совершенно неуместное замечание.

_____________
Безвозмездно помогаю только тем, кто сам пытается что-то сделать.

Остальным за WMR
Даже если там 10 строк кода!
Даже если мне это ничего не стоит!
Даже если вы нуб!

user posted image
dantist
за ответы благодарю.
теперь другой вопрос
нужно выбрать из базы данный тот же месяц и год.
к примеру есть в sql таблица data. Со столбцами year,mon,dat,nap
как это написать на PHP?
$sql='select * from data where year='....'mon='....

если вместо точек ставлю-$_POST['month'] не получается
Bolik
TranceIT

сорри, перегрелся) зависит конечно от того, что в самой функции стоит.
TranceIT
dantist
Вам нужно почитать о создании пользовательских функций в php. А именно передача параметров в функцию.

_____________
Безвозмездно помогаю только тем, кто сам пытается что-то сделать.

Остальным за WMR
Даже если там 10 строк кода!
Даже если мне это ничего не стоит!
Даже если вы нуб!

user posted image
Bolik
Цитата
за ответы благодарю.
теперь другой вопрос
нужно выбрать из базы данный тот же месяц и год.
к примеру есть в sql таблица data. Со столбцами year,mon,dat,nap
как это написать на PHP?
$sql='select * from data where year='....'mon='....

если вместо точек ставлю-$_POST['month'] не получается


а вот этого делать не стоит.

лучше присвоить значения $_POST['month'] и $_POST['year'] переменным
$year=$_POST['month'] например. для безопасности обработать значения через trim, mysqli_real_escape_string, а только потом подставлять в запрос.

$sql='select * from data where year='"$year"'mon='"$month"'
или так
$sql='select * from data where year='.$year.'mon='.$month.'
NitroGenerate

function constructArr($arr=false, $type = ",") // функция сборки
{
if(is_array($arr)) // если мы передали туда массив
{
$filter=array(); // создаем "переменную для складирования" нужных полней

foreach($arr AS $key=>$val) // перебираем массив переданный в функцию получая клю и значение
{
$filter[] = "`".$key."` = '".$val."'"; // форматируем ключ и значения и записываем в "переменную для складирования"

}

$filter = implode(" ".$type." ", $filter); // Перезаписываем фильтр выстраивая весь массив "переменной для складирования" в ряд и ставя между ними разделитель type, который мы передали в функцию

return $filter; // возвращаем данные
}
else // если arr не массив
return false; // возвращаем ошибку
}

$filter = array(); // переменная для складирования данных

$filter['year'] = (is_numeric($_POST['year']) && preg_match("^(\d{4})$", $_POST['year']))? $_POST['year'] : ""; // если переданный год является целым числом и он состоит из 4ех цифр то переменная валидная иначе пустота

$filter['mon'] = (is_numeric($_POST['month']) && $_POST['month']>=1 && $_POST['month']<=12)? $_POST['month'] : ""; // если месяц целое число от 1 и до 12 ...

$filter = constructArr($filter, $type="AND"); // вызываем функцию сборки

$sql="SELECT * FROM data WHERE ".$filter; // формируем sql

$query = mysql_query($sql); // выполняем sql
while($res = mysql_fetch_assoc($query)) // перебераем полученный результат.
{

echo "<pre>";

var_dump($res); // выводим на экран результат

echo "</pre>";

}



или можно совсем просто:
$sql="select * from data where `year`='".$_POST['year']."' AND `mon`='".$_POST['month']."'";
Быстрый ответ:

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