Witam, uczę się php z kursów internetowych, jest to mój pierwszy skrypt, który napisałem sam, bez siedzenia z otwartą stroną z kursem, po prostu z głowy. Napiszcie co o nim sądzicie. Zdaję sobie sprawę że to wygląda dziecinnie (zwłaszcza html między php), ale chciałbym żeby tak nie było, dlatego proszę o porady. Pozdrawiam.
<html>
<head><title>Działania z prądem
<?if($_GET['action']=='opor') echo ' (obliczanie oporu)';?></title></head>
<body>
<?if($_GET['action']=='opor'){ //początek części skryptu dotyczącej obliczania oporu
$opor2 = $_POST['opor2'];
$liczba = $_POST['liczba'];
$polaczenie = $_POST['polaczenie']; //zamiana zmiennych z formularzy na zmienne w PHP
?>
<p><font size="5">Obliczanie oporu</font></p>
Sposób połączenia oporników:<br/><br/>
<form action="
<?echo $_SERVER['SCRIPT_NAME']; echo '?action=opor';?>" method="POST">
<input type="radio" name="polaczenie" value="rownolegle"
<?if($polaczenie == 'rownolegle')echo'checked="checked:"';?>/>Równolegle<br/>
<input type="radio" name="polaczenie" value="szeregowo"
<?if($polaczenie == 'szeregowo')echo'checked="checked:"';?>/>Szeregowo<br/>
<br/>(zakładamy że wszystkie oporniki mają taki sam opór)<br/><br/>
Opór:<br/>
<input type="text" name="opor2" size="5" value="
<?echo $_POST['opor2'];?>"/> Ω
<br/><br/>
Liczba oporników:<br/>
<input type="text" name="liczba" size="5" value="
<?echo $_POST['liczba'];?>"/>
<br/><br/>
<input type="submit" value="Oblicz"/>
</form>
<?
if(($liczba != 0) && ($opor2 != 0)){ //tu trzeba jeszcze coś poprawić, patrz komentarz niżej
if($polaczenie == 'rownolegle'){
@$oporzastepczy = 1/($liczba * 1/$opor2);
echo "Opór zastępczy: <b>$oporzastepczy Ω</b>";}
elseif($polaczenie == 'szeregowo'){
$oporzastepczy = $opor2 * $liczba;
echo "Opór zastępczy: <b>$oporzastepczy Ω</b>";}
else
echo "Wybierz sposób połączenia oporników"; //nie wiem jak zrobić żeby wyświetlało ten napis tylko wtedy, gdy } //wpisze się dane, ale nie wybierze sposobu połączenia oporników
} // koniec części skryptu dotyczącej obliczania oporu
else{
//początek części skryptu dotyczącej działań z prądem
?>
<p><font size="5">Działania z prądem</font></p>
Wpisz dane w <b>dwóch</b> z czterech poniższych pól. Pozostałe parametry zostaną obliczone automatycznie.<br/>Uwaga! W ułamkach zamiast przecinków należy pisać kropki.<br/><br/>
<form action="
<?echo $_SERVER['SCRIPT_NAME']?>#wynik" method="POST">
Napięcie:<br/>
<input type="text" name="napiecie" size="5" value="
<?echo $_POST['napiecie'];?>"/> V
<br/><br/>
Opór:<br/>
<input type="text" name="opor" size="5" value="
<?echo $_POST['opor'];?>"/> Ω <br/> <a target="_blank" href="
<?echo $_SERVER['SCRIPT_NAME']; echo '?action=opor';?>">Obliczanie oporu</a>
<br/><br/>
Natężenie:<br/>
<input type="text" name="natezenie" size="5" value="
<?echo $_POST['natezenie'];?>"/> A
<br/><br/>
Moc:<br/>
<input type="text" name="moc" size="5" value="
<?echo $_POST['moc'];?>"/> W
<br/><br/>
Pojemność akumulatora (opcjonalnie):<br/>
<input type="text" name="pojemnosc" size="5" value="
<?echo $_POST['pojemnosc'];?>"/> Ah
<br/><br/>
<br/><input type="submit" value="Oblicz"/>
</form>
<br/>
<?
$U=$_POST['napiecie'];
$R=$_POST['opor'];
$I=$_POST['natezenie'];
$P=$_POST['moc']; //zamiana danych z formularza na zmienne o krótkich nazwach
$Id2=$I*$I; // I do kwadratu
$Ud2=$U*$U; // U do kwadratu
if($U==0){ //jeśli nie zostało wpisane napięcie, to zostanie obliczone
if($R!=0&&$I!=0)$U=$R*$I; //najpierw z pierwszego wzoru (opór i natężenie)
elseif($P!=0&&$I!=0)$U=$P/$I; //jeśli tych danych też nie ma, to z drugiego
elseif($P!=0&&$R!=0){$PrR=$P*$R; $U=sqrt($PrR);}; //a na koniec z trzeciego
};
if($R==0){
if($U!=0&&$I!=0)$R=$U/$I; //tutaj to samo, tylko co do oporu
elseif($P!=0&&$I!=0)$R=$P/$Id2;
elseif($U!=0&&$P!=0)$R=$Ud2/$P;
};
if($I==0){
if($U!=0&&$R!=0)$I=$U/$R; //itd.
elseif($P!=0&&$U!=0)$I=$P/$U;
elseif($P!=0&&$R!=0){$PpR=$P/$R; $I=sqrt($PpR);};
};
if($P==0){
if($U!=0&&$I!=0)$P=$U*$I;
elseif($U!=0&&$R!=0)$P=$Ud2/$R;
elseif($I!=0&&$R!=0)$P=$Id2*$R;
};
if(
($U!=0&&$R!=0) || //jeśli co najmniej jedna z tych kombinacji istnieje,
($R!=0&&$I!=0) || //to zostanie wyświetlony wynik
($U!=0&&$I!=0) ||
($P!=0&&$I!=0) ||
($U!=0&&$P!=0) ||
($P!=0&&$U!=0) ||
($P!=0&&$R!=0)
){
echo "<a name='wynik'></a>"; //wyświetlanie wyników echo "<td>Napięcie:</td><td><b>$U V</b></td></tr>"; echo "<tr><td>Opór:</td><td><b>$R Ω</b></td></tr>"; echo "<tr><td>Natężenie:</td><td><b>$I A</b></td></tr>"; echo "<tr><td>Moc:</td><td><b>$P W</b></td></tr></table>";
if($_POST['pojemnosc']!=0){
$pojemnosc = $_POST['pojemnosc'];
$czasdzialania = @$pojemnosc/$I;
$godziny = floor($czasdzialania); //godziny działania, zaokrąglone w dół $minuty = floor(($czasdzialania - $godziny) * 60
); //reszta z zaokrąglenia godzin przekonwertowana na minuty, również zaokrąglona w dół $sekundy = round(((($czasdzialania - $godziny) * 60
) - (floor(($czasdzialania - $godziny) * 60
))) * 60
); // reszta z minut przekonwertowana na sekundy, zaokrąglona normalnie echo "<br/>W pełni naładowany akumulator o pojemności <b>$pojemnosc Ah</b> wystarczy na <b>$godziny h $minuty min $sekundy s</b> działania pod takim prądem."; };
};
}; //koniec części skryptu dotyczącej działań z prądem
?>
</body>
</html>