1
Hallo
Ich, als totaler Leie in PHP, habe einen Code, der für jeden "Profi" sicherlich einige Mängel aufweist. Daher würde ich mich über Verbesserungsvorschläge freuen:
Vielen Dank.
Ich, als totaler Leie in PHP, habe einen Code, der für jeden "Profi" sicherlich einige Mängel aufweist. Daher würde ich mich über Verbesserungsvorschläge freuen:
<html>
<head>
<?php
include("zus/namen.php");
?>
<title>Taschenrechner / <?php echo $name["nrrechner"]; ?></title>
<link rel="stylesheet" type="text/css" href="zus/layout.css">
</head>
<body>
<?php
echo $name["linkrechner"];
?>
- <a href="#" onclick="javascript:window.open('zus/v.rechner.php','','height=550,width=700,scrollbars=0,toolbar=0,resizable=1,menubar=0,directories=0,status=0')">Versionshistory <b>dieses Rechners</b> ansehen</a><br>
<table>
<tr>
<td width="453"> Mit diesem Rechner haben Sie die Möglichkeit mit den 4 Grundrechenarten zu arbeiten. Nebenbei bietet dieser Rechnung die Funktion das Ergebnis zu runden (Stelle kann bestimmt werden) und per eMail an eine gewünschte Adresse zu senden (Obacht: Die IP wird gespeichert.).
</td>
</tr>
</table>
<br><br><br>
<table>
<tr>
<td width="160" align="center" bgcolor="#C7C7C7"><b>Pflichtangaben</td>
<td width="190" align="center" bgcolor="#C7C7C7"><b>optionale Angaben</td>
</tr>
<tr>
<td width="160">
<form action="<?php echo $_SERVER["PHP_SELF"]; ?>" method="post">
<br><b>Zahl 1: <input type="text" size="8" name="a" maxlength="8"><br>
Zahl 2: <input type="text" size="8" name="b" maxlength="8"></b><br><br>
<select name="methode" size="1">
<option value="add">Addieren +</option>
<option value="sub">Subtrahieren -</option>
<option value="multi">Multiplizieren *</option>
<option value="divi">Dividieren /</option>
<option value="divirest">Dividieren mit Rest</option>
</select>
</td>
<td width="220">
<br>Ergebnis runden auf die Stelle
<input type="text" name="stelle" size="1" maxlength="1"><br><br>
Ergebnis an folgende eMail senden:<br>
<input type="text" name="email" size="30" maxlength="40">
</td>
</tr>
</table>
<br><input type="hidden" name="checked" value="1">
<input type="hidden" name="ip" value="<?php echo $REMOTE_ADDR ?>">
<input type="submit" value="Ergebnis berechnen">
<input type="reset" value="Felder zurücksetzen">
<?php
$a = $_POST["a"];
$b = $_POST["b"];
$stelle = $_POST["stelle"];
$empfaenger = $_POST["email"];
$speicherung = $_POST["ip"]." - ".date("d.m.Y")." / ".date("H:i:s")." - ".$methode;
$tagesname = array("<font color=\"red\">Sonntag</font>", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag");
$wochentag = $tagesname[date(w)];
$betreff = "Taschenrechner cpox.de - Ergebnis zusenden";
$absender = "webmaster@cpox.de";
$emailone = "Sehr geehrte Damen und Herren!\n";
$emailtwo = "\nSollten Sie diese eMail nicht angefordert haben, wenden Sie sich bitte an den Nutzer der IP ".$_POST["ip"]." oder schicken Sie eine eMail an webmaster@cpox.de.\n\nMit freundlichen Grüßen,\n***";
$emailsend = "Das Ergebnis wurde am <b>".$wochentag."</b>, den <b>".date("d.m.Y")."</b> um <b>".date("H:i:s")." Uhr</b><br> von der IP <b>".$_POST["ip"]."</b> angefordert und an <b>".$empfaenger."</b> geschickt.<br><br>";
$rechnung = "Rechnung und Ergebnis: ";
$gerund = "Ergebnis gerundet auf die ".$stelle.". Stelle: ";
$re = "^[a-z0-9\#\.\_\=\+\~\-]+@([a-z0-9\-]+\.)+[a-z]{2,4}$";
$erg = ereg($re,$empfaenger);
if ((!is_numeric($a) || !is_numeric($b)) && $_POST["checked"]) {
return;
// Ergebnis wird gerundet und an die eMail geschickt
} elseif ($empfaenger && $stelle) {
if ($a == "0" OR $b == "0" OR $stelle == "0" && $_POST["checked"]) {
echo "<br><br>";
echo $name["linie"];
echo "<font color=\"red\">Sie haben die Zahl 0 angegeben. Diese wird nicht akzeptiert.</font>";
}
else {
$addip = fopen ("zus/ips.txt","a");
fwrite ($addip, "
$speicherung");
fclose ($addip);
switch ($_POST["methode"])
{
case "add":
$Ergeb = $a + $b;
echo "<br><br>";
echo $name["linie"];
if ($erg == false) {
echo "Sie haben leider eine ungültige eMail angegeben.<br><br>";
echo "<font color=\"green\">".$rechnung."<b>".$a." + ".$b." = ".$Ergeb."</b><br>";
$runden = round($Ergeb,$stelle);
$gerundet = number_format($Ergeb, $stelle, '.', '');
echo $gerund."<b>".$gerundet."</b></font>";
} else {
echo $emailsend;
echo "<font color=\"green\">".$rechnung."<b>".$a." + ".$b." = ".$Ergeb."</b><br>";
$runden = round($Ergeb,$stelle);
$gerundet = number_format($Ergeb, $stelle, '.', '');
echo $gerund."<b>".$gerundet."</b></font>";
$message = $emailone."
".$rechnung." ".$a." + ".$b." = ".$Ergeb."
".$gerund." ".$gerundet."
".$emailtwo;
@mail($empfaenger,$betreff,$message,$absender);
}
break;
case "sub":
$Ergeb = $a - $b;
echo "<br><br>";
echo $name["linie"];
if ($erg == false) {
echo "Sie haben leider eine ungültige eMail angegeben.<br><br>";
echo "<font color=\"green\">".$rechnung."<b>".$a." - ".$b." = ".$Ergeb."</b><br>";
$runden = round($Ergeb,$stelle);
$gerundet = number_format($Ergeb, $stelle, '.', '');
echo $gerund."<b>".$gerundet."</b></font>";
} else {
echo $emailsend;
echo "<font color=\"green\">".$rechnung."<b>".$a." - ".$b." = ".$Ergeb."</b><br>";
$runden = round($Ergeb,$stelle);
$gerundet = number_format($Ergeb, $stelle, '.', '');
echo $gerund."<b>".$gerundet."</b></font>";
$message = $emailone."
".$rechnung." ".$a." - ".$b." = ".$Ergeb."
".$gerund." ".$gerundet."
".$emailtwo;
@mail($empfaenger,$betreff,$message,$absender);
}
break;
case "multi":
$Ergeb = $a * $b;
echo "<br><br>";
echo $name["linie"];
if ($erg == false) {
echo "Sie haben leider eine ungültige eMail angegeben.<br><br>";
echo "<font color=\"green\">".$rechnung."<b>".$a." * ".$b." = ".$Ergeb."</b><br>";
$runden = round($Ergeb,$stelle);
$gerundet = number_format($Ergeb, $stelle, '.', '');
echo $gerund."<b>".$gerundet."</b></font>";
} else {
echo $emailsend;
echo "<font color=\"green\">".$rechnung."<b>".$a." * ".$b." = ".$Ergeb."</b><br>";
$runden = round($Ergeb,$stelle);
$gerundet = number_format($Ergeb, $stelle, '.', '');
echo $gerund."<b>".$gerundet."</b></font>";
$message = $emailone."
".$rechnung." ".$a." * ".$b." = ".$Ergeb."
".$gerund." ".$gerundet."
".$emailtwo;
@mail($empfaenger,$betreff,$message,$absender);
}
break;
case "divi":
$Ergeb = $a / $b;
echo "<br><br>";
echo $name["linie"];
if ($erg == false) {;
echo "Sie haben leider eine ungültige eMail angegeben.<br><br>";
echo "<font color=\"green\">".$rechnung."<b>".$a." / ".$b." = ".$Ergeb."</b><br>";
$runden = round($Ergeb,$stelle);
$gerundet = number_format($Ergeb, $stelle, '.', '');
echo $gerund."<b>".$gerundet."</b></font>";
} else {
echo $emailsend;
echo "<font color=\"green\">".$rechnung."<b>".$a." / ".$b." = ".$Ergeb."</b><br>";
$runden = round($Ergeb,$stelle);
$gerundet = number_format($Ergeb, $stelle, '.', '');
echo $gerund."<b>".$gerundet."</b></font>";
$message = $emailone."
".$rechnung." ".$a." / ".$b." = ".$Ergeb."
".$gerund." ".$gerundet."
".$emailtwo;
@mail($empfaenger,$betreff,$message,$absender);
}
break;
case "divirest":
$Ergeb = $a % $b;
echo "<br><br>";
echo $name["linie"];
if ($erg == false) {
echo "Sie haben leider eine ungültige eMail angegeben.<br><br>";
echo "<font color=\"green\">".$rechnung."<b>".$a." / ".$b." = ".$Ergeb." = ".$Ergeb."</b><br>";
$runden = round($Ergeb,$stelle);
$gerundet = number_format($Ergeb, $stelle, '.', '');
echo $gerund."<b>".$gerundet."</b></font>";
} else {
echo $emailsend;
echo "<font color=\"green\">".$rechnung."<b>".$a." / ".$b." = ".$Ergeb." = ".$Ergeb."</b></font>";
$message = $emailone."
".$rechnung." ".$a." / ".$b." = ".$Ergeb." = ".$Ergeb."
".$emailtwo;
@mail($empfaenger,$betreff,$message,$absender);
}
break;
}
}
// Ergebnis wird nur an die eMail geschickt
} elseif ($empfaenger) {
if ($a == "0" OR $b == "0" && $_POST["checked"]) {
echo "<br><br>";
echo $name["linie"];
echo "<font color=\"red\">Sie haben die Zahl 0 angegeben. Diese wird nicht akzeptiert.</font>";
}
else {
$addip = fopen ("zus/ips.txt","a");
fwrite ($addip, "
$speicherung");
switch ($_POST["methode"])
{
case "add":
$Ergeb = $a + $b;
echo "<br><br>";
echo $name["linie"];
if ($erg == false) {
echo "Sie haben leider eine ungültige eMail angegeben.<br><br>";
echo "<font color=\"green\">".$rechnung."<b>".$a." + ".$b." = ".$Ergeb."</b></font>";
} else {
echo $emailsend;
echo "<font color=\"green\">".$rechnung."<b>".$a." + ".$b." = ".$Ergeb."</b></font>";
$message = $emailone."
".$rechnung." ".$a." + ".$b." = ".$Ergeb."
".$emailtwo;
@mail($empfaenger,$betreff,$message,$absender);
}
break;
case "sub":
$Ergeb = $a - $b;
echo "<br><br>";
echo $name["linie"];
if ($erg == false) {
echo "Sie haben leider eine ungültige eMail angegeben.<br><br>";
echo "<font color=\"green\">".$rechnung."<b>".$a." - ".$b." = ".$Ergeb."</b></font>";
} else {
echo $emailsend;
echo "<font color=\"green\">".$rechnung."<b>".$a." - ".$b." = ".$Ergeb."</b></font>";
$message = $emailone."
".$rechnung." ".$a." - ".$b." = ".$Ergeb."
".$emailtwo;
@mail($empfaenger,$betreff,$message,$absender);
}
break;
case "multi":
$Ergeb = $a * $b;
echo "<br><br>";
echo $name["linie"];
if ($erg == false) {
echo "Sie haben leider eine ungültige eMail angegeben.<br><br>";
echo "<font color=\"green\">".$rechnung."<b>".$a." * ".$b." = ".$Ergeb."</b></font>";
} else {
echo $emailsend;
echo "<font color=\"green\">".$rechnung."<b>".$a." * ".$b." = ".$Ergeb."</b></font>";
$message = $emailone."
".$rechnung." ".$a." * ".$b." = ".$Ergeb."
".$emailtwo;
@mail($empfaenger,$betreff,$message,$absender);
}
break;
case "divi":
$Ergeb = $a / $b;
echo "<br><br>";
echo $name["linie"];
if ($erg == false) {
echo "Sie haben leider eine ungültige eMail angegeben.<br><br>";
echo "<font color=\"green\">".$rechnung."<b>".$a." / ".$b." = ".$Ergeb."</b></font>";
} else {
echo $emailsend;
echo "<font color=\"green\">".$rechnung."<b>".$a." / ".$b." = ".$Ergeb."</b></font>";
$message = $emailone."
".$rechnung." ".$a." / ".$b." = ".$Ergeb."
".$emailtwo;
@mail($empfaenger,$betreff,$message,$absender);
}
break;
case "divirest":
$Ergeb = $a % $b;
echo "<br><br>";
echo $name["linie"];
if ($erg == false) {
echo "Sie haben leider eine ungültige eMail angegeben.<br><br>";
echo "<font color=\"green\">".$rechnung."<b>".$a." / ".$b." = ".$Ergeb." = ".$Ergeb."</b></font>";
} else {
echo $emailsend;
echo "<font color=\"green\">".$rechnung."<b>".$a." / ".$b." = ".$Ergeb." = ".$Ergeb."</b></font>";
$message = $emailone."
".$rechnung." ".$a." / ".$b." = ".$Ergeb." = ".$Ergeb."
".$emailtwo;
@mail($empfaenger,$betreff,$message,$absender);
}
break;
}
}
// Ergebnis wird nur gerundet
} elseif ($stelle) {
if (($a == "0" OR $b == "0" OR $stelle == "0") && $_POST["checked"]) {
echo "<br><br>";
echo $name["linie"];
echo "<font color=\"red\">Sie haben die Zahl 0 angegeben. Diese wird nicht akzeptiert.</font>";
}
else {
$addip = fopen ("zus/ips.txt","a");
fwrite ($addip, "
$speicherung");
switch ($_POST["methode"])
{
case "add":
$Ergeb = $a + $b;
echo "<br><br>";
echo $name["linie"];
echo "<font color=\"green\">".$rechnung."<b>".$a." + ".$b." = ".$Ergeb."</b><br>";
$runden = round($Ergeb,$stelle);
$gerundet = number_format($Ergeb, $stelle, '.', '');
echo $gerund."<b>".$gerundet."</b></font>";
break;
case "sub":
$Ergeb = $a - $b;
echo "<br><br>";
echo $name["linie"];
echo "<font color=\"green\">".$rechnung."<b>".$a." - ".$b." = ".$Ergeb."</b><br>";
$runden = round($Ergeb,$stelle);
$gerundet = number_format($Ergeb, $stelle, '.', '');
echo $gerund."<b>".$gerundet."</b></font>";
break;
case "multi":
$Ergeb = $a * $b;
echo "<br><br>";
echo $name["linie"];
echo "<font color=\"green\">".$rechnung."<b>".$a." * ".$b." = ".$Ergeb."</b><br>";
$runden = round($Ergeb,$stelle);
$gerundet = number_format($Ergeb, $stelle, '.', '');
echo $gerund."<b>".$gerundet."</b></font>";
break;
case "divi":
$Ergeb = $a / $b;
echo "<br><br>";
echo $name["linie"];
echo "<font color=\"green\">".$rechnung."<b>".$a." / ".$b." = ".$Ergeb."</b><br>";
$runden = round($Ergeb,$stelle);
$gerundet = number_format($Ergeb, $stelle, '.', '');
echo $gerund."<b>".$gerundet."</b></font>";
break;
case "divirest":
$Ergeb = $a % $b;
echo "<br><br>";
echo $name["linie"];
echo "<font color=\"green\">".$rechnung."<b>".$a." / ".$b." = ".$Ergeb." = ".$Ergeb."</b></font>";
break;
}
}
// Ergebnis wird nur ausgegeben
} else {
if ($a == "0" OR $b == "0" && $_POST["checked"]) {
echo "<br><br>";
echo $name["linie"];
echo "<font color=\"red\">Sie haben die Zahl 0 angegeben. Diese wird nicht akzeptiert.</font>";
}
else {
$addip = fopen ("zus/ips.txt","a");
fwrite ($addip, "
$speicherung");
switch ($_POST["methode"])
{
case "add":
$Ergeb = $a + $b;
echo "<br><br>";
echo $name["linie"];
echo "<font color=\"green\">".$rechnung."<b>".$a." + ".$b." = ".$Ergeb."</b><br></font>";
break;
case "sub":
$Ergeb = $a - $b;
echo "<br><br>";
echo $name["linie"];
echo "<font color=\"green\">".$rechnung."<b>".$a." - ".$b." = ".$Ergeb."</b><br></font>";
break;
case "multi":
$Ergeb = $a * $b;
echo "<br><br>";
echo $name["linie"];
echo "<font color=\"green\">".$rechnung."<b>".$a." * ".$b." = ".$Ergeb."</b><br></font>";
break;
case "divi":
$Ergeb = $a / $b;
echo "<br><br>";
echo $name["linie"];
echo "<font color=\"green\">".$rechnung."<b>".$a." / ".$b." = ".$Ergeb."</b><br></font>";
break;
case "divirest":
$Ergeb = $a % $b;
echo "<br><br>";
echo $name["linie"];
echo "<font color=\"green\">".$rechnung."<b>".$a." / ".$b." = ".$Ergeb." = ".$Ergeb."</b></font>";
break;
}
}
}
?>
</form>
</body>
</html>
Vielen Dank.