LINUX.ORG.RU

[php]Маленький скрипт калькулятора зарплаты фрилансера

 


0

1

Фрилансеру часто приходится называть стоимость его работы почасово, суточно и т.п. Вот для таких задач и написан мини-калькулятор, который скажет какова ваша ставка за час скажем, исходя из месячной зарплаты и пр. В общем нечего особенного, но удобно иметь.
Посмотреть в работе калькулятор можно тут: http://imsait.elitno.net/calculatorsalary.php

Код:

<?php
{
	require 'header.php';
	require 'content.php';
	echo '<table border="0" cellpadding="0" cellspacing="0"><tr><td>';
	
	echo '<div id="calculatorsalary">
	<h2>Калькулятор зарплаты фрилансера</h2>
	<form enctype="multipart/form-data" action="calculatorsalary.php" method="POST">
	<strong>Сколько рублей в месяц желаете:</strong><br>
	<input name="salary" type="text" value="30000" size="30"><br><br>
	<strong>Сколько рабочих недель в месяце:</strong><br>
	<input name="workweek" type="text" value="4" maxlength="1" size="1"><br><br>
	<strong>Сколько рабочих дней в неделе:</strong><br>
	<input name="workdays" type="text" value="5" maxlength="2" size="2"><br><br>
	<strong>Сколько рабочих часов в сутках:</strong><br>
	<input name="workhour" type="text" value="8" maxlength="2" size="2"><br><br>
	<input type="submit" value="Посчитать" />
	</form>
	</div>';
	
	$salary = ($_POST['salary']);
	$workweek = ($_POST['workweek']);
	$workdays = ($_POST['workdays']);
	$workhour = ($_POST['workhour']);
	
	if ($salary != null & $salary != "0" & $workweek != null & $workweek != "0" &
	$workdays != null & $workdays != "0" & $workhour != null & $workhour != "0") {
	$salarymonth = $salary;
	$salaryweek = $salarymonth / $workweek;
	$salarydays = $salaryweek / $workdays;
	$salaryhour = $salarydays / $workhour;
	
	echo "<div id='outputsalary'>
	<h2>Расчет вашей зарплаты</h2>
	<strong>За месяц:</strong> $salarymonth руб.<br><br>
	<strong>За неделю:</strong> $salaryweek руб.<br><br>
	<strong>За день:</strong> $salarydays руб.<br><br>
	<strong>За час:</strong> $salaryhour руб.
	</div>";}
	
	echo '</td></tr></table>';
	echo '</div>';
	require 'footer.php';
}
?>



Последнее исправление: viktorzinchuk (всего исправлений: 1)

Такое можно на жабаскрипте написать, и не нужно никакой похапе тащить с веб-сервером

xorik ★★★★★
()
Ответ на: комментарий от xorik

такое можно на дефолтном калькуляторе ОС посчитать, и не нужно никакой жабаскрипт тащить с веб-сервером :) Такое можно на моем любимом c# написать, и нафиг мне этот жабаскрипт не сдался.

Логика ясна, нет?

viktorzinchuk
() автор топика
Ответ на: комментарий от azure

это не проблема, но мне не нужно, я с рублями работаю. так что все в ваших руках, код есть, что вы с ним дальше будете делать дело ваше, мне достаточно написанного функционала.

viktorzinchuk
() автор топика

у меня в кде калькулятор не показывает твою рекламу. Куда писать багрепорт?

minakov ★★★★★
()
Ответ на: комментарий от xorik

Такое можно на bash написать, и не нужно вообще ничего нового устанавливать

alix ★★★★
()
Ответ на: комментарий от azure

Просто убрать «рубли» отовсюду, и будет харашо :)

Это если вы просто значения считаете. я подумал что вам реально конвертация нужна, скажем зарплату в месяц вводишь в долларах, а в расчетах хочешь получить в евро, или вообще килограммами кокаина :)

viktorzinchuk
() автор топика
Ответ на: комментарий от viktorzinchuk

Просто выбор валюты. Вы считаете в рублях, я в гривнах. Или в долларах - так тоже понятно. Но в рублях мне - не понятно. А они всюду написаны. А смысла в подписях в общем-то нет.

azure ★★
()

Эталонный пример спагетти кода(

<?php
	require 'header.php';
	require 'content.php';

	$salary = isset($_POST['salary'])?$_POST['salary']:false;
	$workweek = isset($_POST['workweek'])?$_POST['workweek']:false;
	$workdays = isset($_POST['workdays'])?$_POST['workweek']:false;
	$workhour = isset($_POST['workhour'])?$_POST['workweek']:false;
	
	$salarymonth = $salaryweek = $salarydays = $salaryhour = 0; ?>

	<table border="0" cellpadding="0" cellspacing="0"><tr><td>
	  <div id="calculatorsalary">
	  <h2>Калькулятор зарплаты фрилансера</h2>
	  <form enctype="multipart/form-data" action="calculatorsalary.php" method="POST">
	    <strong>Сколько рублей в месяц желаете:</strong><br>
	      <input name="salary" type="text" value="<?php echo $salary?$salary:30000 ;?>" size="30"><br><br>
	    <strong>Сколько рабочих недель в месяце:</strong><br>
	      <input name="workweek" type="text" value="<?php echo $workweek?$workweek:4 ;?>" maxlength="1" size="1"><br><br>
	    <strong>Сколько рабочих дней в неделе:</strong><br>
	      <input name="workdays" type="text" value="<?php echo $workdays?$workdays:5; ?>" maxlength="2" size="2"><br><br>
	    <strong>Сколько рабочих часов в сутках:</strong><br>
	      <input name="workhour" type="text" value="<?php echo $workhour?$workhour:8 ; ?>" maxlength="2" size="2"><br><br>
	      <input type="submit" value="Посчитать" />
	  </form>
	</div>
<?php 
	
	if ($salary && $workweek && $workdays && $workhour) {
	  $salarymonth = $salary;
	  $salaryweek = $salarymonth / $workweek;
	  $salarydays = $salaryweek / $workdays;
	  $salaryhour = $salarydays / $workhour;
?>	
	<div id='outputsalary'>
	<h2>Расчет вашей зарплаты</h2>
	<strong>За месяц:</strong> <?php echo $salarymonth; ?> руб.<br><br>
	<strong>За неделю:</strong> <?php $salaryweek; ?> руб. <br><br>
	<strong>За день:</strong> <?php $salarydays; ?> руб.<br><br>
	<strong>За час:</strong> <?php $salaryhour; ?> руб.
	</div>
<?php } ?>	
	</td></tr></table>
	</div>
	
<?php require 'footer.php'; ?>

Держи исправленный вариант, хоть и говнокод но хоть пахнет слабее

anthill
()

Весь web-development, засран тобой, viktorzinchuk.

Ты, конечно, учись, делай, добивайся... но не думаю, что стоит свои подделки начального уровня тут выкладывать.

VirRaa ★★★
()

«илитно - нет»

валидность значений пушкин проверять будет? А то у меня 99 часов в сутках сожрал

lazyklimm ★★★★★
()
Ответ на: комментарий от lazyklimm

зачем? Я знаю как вводить, писал то для себя. А то, что кто то там куй вместо чисел введет - мне безразлично. Оставляю так сказать, на ваше усмотрение.

viktorzinchuk
() автор топика

Главное что не поленился написать тонны одинаковых строк. Трудолюбивый значит.

Интересно, почему все пхпшники любят так делать?

redixin ★★★★
()
Ответ на: комментарий от viktorzinchuk

Тебе жалко что ли?

Конечно, зачем мне они тут нужны? Мне жалко, если каждый такой «Кулибин» будет засирать мой ЛОР. Так что прекращай.

VirRaa ★★★
()
Ответ на: комментарий от anthill

Держи исправленный вариант

добавленный отступ перед кодом смотрится убого. А ещё произошла адская каша между html и php. В первом варианте через print() было более понятно что к чему. Тэг "?>" в десятой строки остался висеть без переноса на новую и без расскраски кода непонятно к чему он там относится. short_open_tag стоит везде, нет смысла заменять лаконичный «<?» на «<?php».

true_admin ★★★★★
()
Ответ на: комментарий от VirRaa

Конечно, зачем мне они тут нужны?

А зачем ты тут нужен, вот конкретно в этой теме, кому, скажи мне? Мне ты точно не нужен, так что гуляй лесом, это первое. Второе; твое мнение, мне лично - не важно(!) на правах топикстартера ;) На этом диалог считаю оконечным. Надеюсь ясно выразился, се-ля-ви.

viktorzinchuk
() автор топика
Ответ на: комментарий от true_admin

да там вообще писец с человеко-парсингом, я говорить не стал, в силу своих мелких знаний, но имхо, мой код эстетически более читабелен.

viktorzinchuk
() автор топика
Ответ на: комментарий от redixin

Интересно, почему все пхпшники любят так делать?

То, что один новичок так говнокодит не означает, что так делают все. Элементарная логика.

resurtm ★★★
()

Ты действительно считаешь этот код полезным? Почему бы не создать топик в духе

echo 'Hello, world!';
?

jessey
()
Ответ на: комментарий от viktorzinchuk

Наркоман штоле?
Аффтар, ты действительно считаешь этот код полезным?

jessey
()
Ответ на: комментарий от jessey

Ты действительно считаешь этот код полезным?

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

viktorzinchuk
() автор топика
Ответ на: комментарий от qnikst

хохо, ориентироваться на дебилов которые в сутках 99 часов напишут, знаете ли - не мой метод. А вам сочувствую с таким подходом.

viktorzinchuk
() автор топика

Ха, снова ты со своими пятью строчками очевидного быдлокода. Устройся уже на работу.

mopsene ★★★
()
Ответ на: комментарий от viktorzinchuk

хохо, ориентироваться на дебилов которые в сутках 99 часов напишут, знаете ли - не мой метод.

Вон из профессии. Слышал «на каждый чих...», не?

mopsene ★★★
()
Ответ на: комментарий от mopsene

Ха, снова ты со своими пятью...

mopsene ты же знаешь что я на троллинг тяжело ведусь, зачем пробовать? ;)

Устройся уже на работу.

Так сайт допишу - будет и работа.

viktorzinchuk
() автор топика
Ответ на: комментарий от viktorzinchuk

Не забывай, что 99% рядовых юзеров - люди, которые используют компьютер для поиграться. Они могут и строку «6 часов» вбить, с буковками, а потом спамить твой саппорт на тему «чому оно не работаэ?».
Что-то мне подсказывает что тебя на второй год оставляли.

jessey
()
Ответ на: комментарий от viktorzinchuk

Почему троллинг-то?
- Эй, чувак, ты пытаешься надеть штаны через голову?
- ТОЛСТО! ОЛОЛО ТЫ ТРОЛЛИРУЕШЬ МЕНЯ!!!111

...

jessey
()
Ответ на: комментарий от viktorzinchuk

Так сайт допишу - будет и работа.

Не забудь отписаться и похвастаться.

jessey
()
Ответ на: комментарий от viktorzinchuk

mopsene ты же знаешь что я на троллинг тяжело ведусь, зачем пробовать?

Так я и не тролль.

Так сайт допишу - будет и работа.

Такие сайты пишутся за два дня. О чем это я... сегодня суббота, чтобы в понедельник уже устроился и писал быдлокод на быдлоработе, а не на ЛОРе.

mopsene ★★★
()
Ответ на: комментарий от mopsene

писал быдлокод на быдлоработе, а не на ЛОРе.

mopsene мне искренне жаль тебя огорчать, но так уж вышло, что работаю я не программистом, по этому код я все равно на лоре писать буду а не на работе :)

viktorzinchuk
() автор топика
Ответ на: комментарий от viktorzinchuk

по этому код я все равно на лоре писать буду а не на работе :)

Я не хочу жить в таком мире.

jessey
()
Ответ на: комментарий от true_admin

short_open_tag стоит везде, нет смысла заменять лаконичный «<?» на «<?php».

Ну, во-первых далеко не везде. А во-вторых вариант с «<?php» семантически более верный. Есть еще «<?xml» например, для единообразия и вообще, для хорошего тона, рекомендуется писать открывающий тег полностью.

boombick ★★★★★
()
Ответ на: комментарий от jessey

Вот и таскай мешки, код у тебя не ахти получается :3

Наркоманы стихи пишут, им же не запрещают поэзией заниматься. Маня из третьего подъезда, под 200 килограммов весу, петь любит, воображая себя эстрадной певицей, нарушая покой соседей. В общем - не мешай грузчику стремится к чему то высокому :D

viktorzinchuk
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.