Skrypt PHP przesta? dzia?a? po umieszczeniu go stronie
|
tajpan |
Dodany dnia 02.09.2011 19:37:33
|

Przedszkolak

Postów: 18 Ostrzeżeń: 1
Data rejestracji: 30.04.2007 19:20
|
Witam.
Napisa?em taki oto skrypt w PHP:
Formularz:
<form action="kcal_licz.php" method="post">
<fieldset>
<legend>Podstawowe informacje</legend>
<table border="0">
<tr>
<td>P?e? *</td>
<td><select name="plec" class="textbox">
<option value="m">M??czyzna</option>
<option value="k">Kobieta</option>
</select></td>
<tr>
<td>Waga *</td>
<td><input type="text" name="waga" class="textbox" maxlength="3">
<tr>
<td>Wzrost *</td>
<td><input type="text" name="wzrost" class="textbox" maxlength="3">
<tr>
<td>Wiek *</td>
<td><input type="text" name="wiek" class="textbox" maxlength="2">
<tr>
<td>Budowa fizyczna *</td>
<td><select name="budowa" class="textbox">
<option value="endo">Endomorfik</option>
<option value="mezo">Mezomorfik</option>
<option value="ekto">Ektomorfik</option>
</select></td></table>
</fieldset>
<fieldset>
<legend>Trening aerobowy</legend>
<table border="0">
<tr>
<td>Czas</td>
<td><input type="text" name="a_czas" class="textbox" maxlength="3"></td>
<tr>
<td>Ilo?? (tygodniowo)</td>
<td><input type="text" name="a_ilosc" class="textbox" maxlength="2"></td>
<tr>
<td>Intensywno??</td>
<td><select name="aeroby_intensywnosc" class="textbox">
<option value="w">Wysoka</option>
<option value="p">Przeci?tna</option>
<option value="n">Niska</option>
</select></td></table>
</fieldset>
<fieldset>
<legend>Trening si?owy</legend>
<table border="0">
<tr>
<td>Czas</td>
<td><input type="text" name="s_czas" class="textbox" maxlength="3">
<tr>
<td>Ilo?? (tygodniowo)</td>
<td><input type="text" name="s_ilosc" class="textbox" maxlength="2">
<tr>
<td>Instensywno??</td>
<td><select name="silownia_intensywnosc" class="textbox">
<option value="w">Wysoka</option>
<option value="p">Przeci?tna</option>
<option value="n">Niska</option>
</select></td></fieldset></table></fieldset>
<fieldset>
<legend>Dieta</legend>
<table border="0">
<tr><td>Cel *</td>
<td><select name="cel" class="textbox">
<option value="masa">Masa</option>
<option value="redukcja">Redukcja</option></select>
<tr>
<td>+\- kcal *</td>
<td><input type="text" name="dieta" class="textbox" maxlength="3"></td></table></fieldset>
<fieldset>
<legend>Warto?ci od?ywcze</legend>
<table border="0">
<tr>
<td>Bia?ko *</td>
<td><input type="text" name="bialko" class="textbox" value="2.1"></td>
<tr>
<td>T?uszcze *</td>
<td><input type="text" name="tluszcze" class="textbox" value="1.2"></td>
<tr>
<td>W?glowodany</td>
<td><input type="text" name="weglowodany" class="textbox" value="Obliczane przez skrypt" disabled="diasabled"></td>
<tr>
<td colspan="2"><i><h5><br>*Na kg masy cia?a</h5></font></i></td>
</table></fieldset>
<input type="submit" value="Wy?lij" class="button">
<input type="reset" value="Od nowa" class="button">
</form>
Obliczanie i drukowanie:
<?
if (!$waga || !$wzrost || !$wiek || !$dieta || !$bialko || !$tluszcze)
{
print '<center><font color="red"><h2>Wype?nij wszystkie wymagane pola (oznaczone *)</h2></font></center>';
} else
{
/*p?e? */
If($_POST['plec'] == m)
{
$p = 5;
}
else
{
$p = -161;
}
/*Budowa fizyczna */
Switch ($_POST['budowa'])
{
case 'endo': $budowa = 200;
break;
case 'mezo': $budowa = 400;
break;
case 'ekto': $budowa = 700;
break;
}
/*Kcal spalane odczas wysi?ku aerobowego */
Switch ($_POST['aeroby_intensywnosc'])
{
case 'w': $a_i = 10;
break;
case 'p': $a_i = 8;
break;
case 'n': $a_i = 6;
break;
}
/*EPOC - Kcal spalone po treningu aerobowym */
Switch ($_POST['aeroby_intensywnosc'])
{
case 'w': $a_EPOC = 180;
break;
case 'p': $a_EPOC = 35;
break;
case 'n': $a_EPOC = 5;
break;
}
/*Kcal spalane odczas wysi?ku si?owego */
Switch ($_POST['silownia_intensywnosc'])
{
case 'w': $s_i = 9;
break;
case 'p': $s_i = 7;
break;
case 'n': $s_i = 8;
break;
}
/* cel redukcji */
If($_POST['cel'] == masa)
{
$cel_diety = $dieta;
}
else
{
$cel_diety = -$dieta;
}
/* BMR - podstawowa przemiana materii */
$BMR = round((9.99 * $waga) + (6.25 * $wzrost) - (4.92 * $wiek) + $p);
/*TEA - kalorie spalone ze wzgl?du na aktywno?? fizyczn?*/
/*Kalorie spalone podczas wysi?ku aerobowego */
$TEA_a = $a_czas * $a_ilosc * $a_i;
/*Kalorie spalane podczas wysi?ku si?owego */
$TEA_s = $s_czas * $s_ilosc * $s_i;
/*aeroby- kalorie spalone podczas i po wysi?ku aerobowym */
$aeroby = $TEA_a + $a_EPOC;
/*NEAT- kalorie spalane w ci?gu dnia */
$NEAT = $budowa;
/*TDEE - dzienne zapotrzebowanie */
$TDEE = $BMR + ($TEA_a / 7) + ($TEA_s / 7) + $NEAT;
/*TEF - efekt termiczny po?ywienia */
$TEF = ($TDEE * 7) / 100;
/*Kalorie spalane po wysi?ku si?owym */
$EPOC_s = ($TDEE * 5)/100;
/*Ogólne zapotrzebowanie */
$kcal = $TDEE + $TEF + $EPOC_s;
/* Kcal, które powiniene? przyjmowa? podczas diety */
$kcal_obliczone = $kcal + $cel_diety;
/*Warto?ci od?ywcze */
$bialko_calosc = $bialko * $waga;
$tluszcze_calosc = $tluszcze * $waga;
$weglowodany = round(($kcal_obliczone - (($bialko_calosc * 4) + ($tluszcze_calosc * 9))) / 4, 2);
print '<table border="0" align="center">';
print '<tr>';
print '<td bgcolor="#c6efce" colspan="2" align="center"><font color="#6e7a00"><center>Kcal</center></font></td></tr>';
print '<tr>';
print '<td bgcolor="#ff8080" align="center" width="400"><font color="#b60000"><center>Kalorie [Kcal] na diecie</center></font></td>';
print '<td bgcolor="#ffeb9c" align="center" width="150"><font color="#ce7d00"><center>'.round ($kcal_obliczone, 2).'</center></font></td>';
print '<tr>';
print '<td bgcolor="#ff8080" align="center"><font color="#b60000"><center>Dzienne zapotrzebowanie w celu utrzymania wagi </center></font></td>';
print '<td bgcolor="#ffeb9c" align="center"><font color="#ce7d00"><center>'.round ($kcal, 2).'</center></font></td>';
print '</table>';
print '<table border="0" align="center">';
print '<tr>';
print '<td bgcolor="#c6efce" colspan="2" align="center"><font color="#6e7a00"><center>Warto?ci od?ywcze</center></font></td></tr>';
print '<tr>';
print '<td bgcolor="#ff8080" align="center" width="400"><font color="#b60000"><center>Bia?ko</center></font></td>';
print '<td bgcolor="#ffeb9c" align="center" width="150"><font color="#ce7d00"><center>'.$bialko_calosc.'</center></font></td>';
print '<tr>';
print '<td bgcolor="#ff8080" align="center"><font color="#b60000"><center>T?uszcze</center></font></td>';
print '<td bgcolor="#ffeb9c" align="center"><font color="#ce7d00"><center>'.$tluszcze_calosc.'</center></font></td>';
print '<tr>';
print '<td bgcolor="#ff8080" align="center"><font color="#b60000"><center>W?glowodany</center></font></td>';
print '<td bgcolor="#ffeb9c" align="center"><font color="#ce7d00"><center>'.$weglowodany.'</center></font></td>';
print '<tr>';
print '<td colspan="2">Skrypt stworzony przez administratora <a href="http://www.fit4life.cba.pl">Fit4Life</a></td>';
print '</table>';
}
?>
Skrypt by? testowany na Krasnalu i wszystko dzia?a?o bez zarzutu. Umie?ci?em go wi?c na stronie opartej na PHP-Fusion (Dodatkowe Strony). I tutaj zaczynaj? si? problemy. Skrypt dokonuje b??dnych oblicze?. Szwankuje te? instrukcja IF, która sprawdza, czy formularz zosta? wype?niony. Rano na stronie znajdowa?a si? poprzednia wersja skryptu i wszystko dzia?a?o bezproblemowo. O co chodzi?
Edytowane przez tajpan dnia 02.09.2011 19:40:29
|
|
|
|
W?cibski Go?? |
Dodany dnia 23.10.2025 15:58:25
|
Pan Kontekstualny
Postów: n^x
Data rejestracji: Zawsze
|
|
IP: localhost |
|
|
qba88 |
Dodany dnia 03.09.2011 09:17:51
|

Pocz?tkuj?cy

Postów: 277 Pomógł: 14
v7.02.03 Data rejestracji: 14.08.2006 14:57
|
Nie wklejaj tego w dodatkowe strony, tylko zrób osobny plik PHP, i na pocz?tku pliku dodaj:
<?php
require_once "maincore.php";
require_once THEMES."templates/header.php";
a na ko?cu:
require_once THEMES."templates/footer.php";
?>
Je?li Ci pomog?em, kliknij "Pomóg?" 
|
|
|
|
tajpan |
Dodany dnia 03.09.2011 12:15:29
|

Przedszkolak

Postów: 18 Ostrzeżeń: 1
Data rejestracji: 30.04.2007 19:20
|
Zrobi?em tak, ale nie pomog?o |
|
|
|
cristo |
Dodany dnia 03.09.2011 12:22:35
|

Przedszkolak

Postów: 84 Ostrzeżeń: 1
v7.02.03 Data rejestracji: 02.08.2008 12:41
|
Zamie? wszystkie " w tych plikach na '.
Prócz:
require_once "maincore.php";
require_once THEMES."templates/header.php";
require_once THEMES."templates/footer.php";
a tre?? pomi?dzy tym wstaw w:
echo "tre??";
U mnie dzia?a.
Edytowane przez cristo dnia 03.09.2011 12:27:01
|
|
|
|
tajpan |
Dodany dnia 03.09.2011 12:26:42
|

Przedszkolak

Postów: 18 Ostrzeżeń: 1
Data rejestracji: 30.04.2007 19:20
|
A mo?e to wina serwera? Wstawi?em skrypt na serwer "poza" PHP-Fusion i niestety problem si? powtórzy?. Korzystam z cba.
PS. Móg?by? wprowadzi? przyk?adowe dane i wstawi? screena? U mnie te? dzia?a, ale wynik jest b??dny. |
|
|
|
cristo |
Dodany dnia 03.09.2011 12:41:15
|

Przedszkolak

Postów: 84 Ostrzeżeń: 1
v7.02.03 Data rejestracji: 02.08.2008 12:41
|
Powiedz mi jak to wype?ni? bo wyskakuje mi komunikat:
Wype?nij wszystkie wymagane pola (oznaczone *)
PS. Bo jak wystarczy wpisa? cokolwiek w te pola to nie dzia?a.
Edytowane przez cristo dnia 03.09.2011 12:47:53
|
|
|
|
tajpan |
Dodany dnia 03.09.2011 13:41:26
|

Przedszkolak

Postów: 18 Ostrzeżeń: 1
Data rejestracji: 30.04.2007 19:20
|
No w?a?nie. Mam tak samo po wrzuceniu na serwer. Na Krasnalu wszystko dzia?a bez zarzutu . Spróbuj usun?? instrukcj? warunkow?:
Z pliku kcal_licz.php usu?
if (!$waga || !$wzrost || !$wiek || !$dieta || !$bialko || !$tluszcze)
{
print '<center><font color="red"><h2>Wype?nij wszystkie wymagane pola (oznaczone *)</h2></font></center>';
} else
{
I na ko?cu klamr? "}".
We? przyk?adowo takie dane:
P?e?: M??czyzna
Waga: 84
Wzrost: 183
Wiek: 24
Budowa: Mezomorfik
Trening aerobowy (Ilo??: 2, czas: 60, intensywno??: przeci?tna)
Trening si?owy (Ilo??: 3, czas: 60, intensywno??: przeci?tna)
Dieta: redukcja
+/- kcal: 400
Warto?ci od?ywcze bez zmian
Powinno wyj?? co? takiego:

Dla porównania- po podaniu tych samych informacji w skrypcie na serwerze otrzymuj? co? takiego:
 |
|
|
|
cristo |
Dodany dnia 03.09.2011 14:01:27
|

Przedszkolak

Postów: 84 Ostrzeżeń: 1
v7.02.03 Data rejestracji: 02.08.2008 12:41
|
Mi si? pokaza?o co? takiego po usuni?ciu tych linijek:

Tak?e chyba co? gdzie? ?le liczy, ale tu ju? nie pomog?. |
|
|
|
tajpan |
Dodany dnia 03.09.2011 17:37:04
|

Przedszkolak

Postów: 18 Ostrzeżeń: 1
Data rejestracji: 30.04.2007 19:20
|
Testowa?e? lokalnie, czy na jakim? serwerze? |
|
|
|
Adam Stalica |
Dodany dnia 03.09.2011 21:02:34
|

Pocz?tkuj?cy

Postów: 213 Pomógł: 13
v7.02.03 Data rejestracji: 05.08.2010 17:24
|
@tajpan wi?kszo?? zmiennych bierzesz z kosmosu... Wi?c jak skrypt ma dzia?a?? Spróbuj? Ci go poprawi? i da? Ci gotowca...
EDIT: Poprawione pliki w za??czniku...
Pozwoli?em sobie troch? zmieni? kod, aby by? dla mnie czytelniejszy
Na moje oko wszystko dzia?a jak nale?y 
Najlepiej porównaj swój kod z moim i zobacz co si? zmieni?o...
Pozdrawiam
Adam 
Adam Stalica dodał/a następującą plik:
Edytowane przez Adam Stalica dnia 03.09.2011 21:29:02
Witam 
|
|
|
|
tajpan |
Dodany dnia 04.09.2011 07:53:12
|

Przedszkolak

Postów: 18 Ostrzeżeń: 1
Data rejestracji: 30.04.2007 19:20
|
Dzia?a. Wielkie dzi?ki Przejrza?em kod i ju? wiem, ze problem le?a? w deklaracjach zmiennych. Na lokalu dzia?a?o, ale jak wida? serwer sobie z tym nie radzi?  |
|
|