CronJob-Service
bei SELFPHP mit ...
|
+ minütlichen Aufrufen
+ eigenem Crontab Eintrag
+ unbegrenzten CronJobs
+ Statistiken
+ Beispielaufrufen
+ Control-Bereich
Führen Sie mit den CronJobs von
SELFPHP zeitgesteuert Programme
auf Ihrem Server
aus. Weitere Infos
|
:: Anbieterverzeichnis ::
Globale Branchen
Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP
:: Newsletter ::
Abonnieren Sie hier den kostenlosen
SELFPHP Newsletter!
|
PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden |
05.11.2004, 14:49:44
|
Junior Member
|
|
Registriert seit: Sep 2004
Beiträge: 348
|
|
Rehcen OP´s
hi,
nachdem die geschcihte mit der Datenbank nun klappt habe ihc ein letztes problem und zwar habe ich folgende 2 verschiedene Cods:
CODE 1:
PHP-Code:
<HTML>
<HEAD>
<FONT bgcolor="black" text="white" link="white" vlink="white"</FONT>
</HEAD>
<BODY>
<center>
<?PHP
ECHO "Dein Setup war:<p>";
ECHO "Tankinhalt: $tank <br>";
ECHO "Runden am Stück: ".number_format($runden,1) ." Runden<br>";
IF ($reifen == "a")
{
$rdnzeit= $runden * $tank;
ECHO "Ihre Rundenzeit war: ". number_format($rdnzeit,2) . "Minuten schnell<p>";
}
ELSE
{
$rdnzeit3= $runden * $tank * 1.1;
$rdnzeit2 = $rdnzeit3 / 1000;
$rdnzeit = $rdnzeit2 + 1;
ECHO "Durch die weichen Reifen haben Sie einen Vorteil. <br>";
ECHO "Deshalb ist ihre tatsächliche Zeit: " . number_format($rdnzeit,2) . " Minute schnell<p>";
}
?>
</center>
</BODY>
</HTML>
CODE 2:
PHP-Code:
<HTML>
<HEAD>
<FONT bgcolor="black" text="white" link="white" vlink="white"</FONT>
</HEAD>
<BODY>
<center>
<?PHP
ECHO "Dein Setup war:<p>";
ECHO "Tankinhalt: $tank <br>";
ECHO "Runden am Stück: ".number_format($runden,1) ." Runden<br>";
IF ($reifen == "b")
{
$rdnzeit= $runden * $tank;
ECHO "Ihre Rundenzeit war: ". number_format($rdnzeit,2) . "Minuten schnell<p>";
}
ELSE
{
$rdnzeit3= $runden * $tank * 1.12;
$rdnzeit2 = $rdnzeit3 / 1000;
$rdnzeit = $rdnzeit2 + 1;
ECHO "Durch die Harten Reifen haben Sie einen Vorteil. <br>";
ECHO "Deshalb ist ihre tatsächliche Zeit: " . number_format($rdnzeit,2) . " Minute schnell<p>";
}
?>
</center>
</BODY>
</HTML>
So nun sind die Rechenwerte unterschiedlich und eigentlich müsste bei dem 2.Code ein deutlich höherer WErt als beim 1.Code raus kommen.
Dem ist aber nicht so. Wo ist mein Fehler? Könnt ihr mir helfen?
|
05.11.2004, 16:17:54
|
|
SELFPHP Guru
|
|
Registriert seit: May 2003
Beiträge: 7.187
|
|
Re: Rehcen OP´s
Welche Werte haben denn $runden und $tank?
Und welche Ergebnisse erhälst du jeweils bei den beiden Codes?
Und dass der Wert beim zweiten Code wesentlich größer wird als beim ersten Wage ich dann doch mal stark zu bezweifeln, wenn du einmal mit 1,1 und einmal mit 1,12 rechnest.
Geändert von xabbuh (05.11.2004 um 16:21:10 Uhr)
|
05.11.2004, 21:02:22
|
Junior Member
|
|
Registriert seit: Sep 2004
Beiträge: 348
|
|
$tank ist nicht bestimmt. Man muss vorher in einem Formular eingaben, welche Menge Sprit man mitnimmt.Genauso ist es mit der Variable $runden.
Sagen wir zum Beispiel $tank = 50 ; $runden = 5
Dann bekomm ich bei Code 1 in der ersten RechenOP 50*5*1.1 = 275
275 / 1000 = 0.275
0.275 + 1 = 1.275
Rechen OP bei Code 2 mit gleichen werten = 50*5*1.12 = 280
280 / 1000 = 0.28
0.28 + 1 = 1.28
So sollte es sein, stattdessen zeigt das Programm bei beiden 250 an.
|
05.11.2004, 21:12:39
|
|
SELFPHP Guru
|
|
Registriert seit: May 2003
Beiträge: 7.187
|
|
Zitat:
Original geschrieben von Rudolfsport
Sagen wir zum Beispiel $tank = 50 ; $runden = 5
Dann bekomm ich bei Code 1 in der ersten RechenOP 50*5*1.1 = 275
275 / 1000 = 0.275
0.275 + 1 = 1.275
Rechen OP bei Code 2 mit gleichen werten = 50*5*1.12 = 280
280 / 1000 = 0.28
0.28 + 1 = 1.28
So sollte es sein, stattdessen zeigt das Programm bei beiden 250 an.
|
Da fällt mir spontan folgende Stelle in deinem Quelltext auf:
PHP-Code:
<?php
if($reifen == "a") {
$rdnzeit= $runden * $tank; // <- 50 * 5 = 250
echo "Ihre Rundenzeit war: ". number_format($rdnzeit,2) . "Minuten schnell<p>";
} else {
$rdnzeit3= $runden * $tank * 1.1;
$rdnzeit2 = $rdnzeit3 / 1000;
$rdnzeit = $rdnzeit2 + 1;
echo "Durch die weichen Reifen haben Sie einen Vorteil. <br>";
echo "Deshalb ist ihre tatsächliche Zeit: " . number_format($rdnzeit,2) . " Minute schnell<p>";
}
?>
Also wird $reifen wohl in diesem Beispiel a sein.
|
06.11.2004, 00:49:30
|
Junior Member
|
|
Registriert seit: Sep 2004
Beiträge: 348
|
|
jo man hat vorher eine aus whal von 4 reifen. bei den anderen 2 gehts ja, aber hier wills nicht wirklich gehen.
Wie meinst du $reifen = a ? ja wenn er die a variante gewählt hat dann stimmt es so.
Aber den Fheler warum da nicht 275 raus kommt findeste nicht wa?
|
06.11.2004, 01:42:40
|
|
Junior Member
|
|
Registriert seit: May 2004
Ort: Köln
Alter: 43
Beiträge: 226
|
|
es ist ein denkfehler...
folgender Vorschlag um dem ein Ende zu bereiten:
PHP-Code:
<?
/* Ausgabe zu Testzwecken : Start */
$runden = "5";
$tank = '50';
/* Ausgabe zu Testzwecken : Ende */
switch ($_GET['reifen']) { // Ansonsten bitte das $_POST verwenden
case 'a':
$multi = 1.1;
$art = 'weichen ';
break;
case 'b':
$multi = 1.2;
$art = 'harten ';
break;
case 'c':
$multi = 1.9;
$art = 'Winter-';
break;
case 'd':
$multi = 1.5;
$art = 'Regen-';
break;
default:
$multi = 1.0;
$art = 'Normal-';
}
$rdnzeit= $runden * $tank * $multi;
$rdnzeit2 = $rdnzeit / 16.;
$rdnzeit = $rdnzeit2 + 1;
?>
Durch die <?=$art;?> Reifen haben Sie einen Vorteil.<br>
Deshalb ist ihre tatsächliche Zeit: <?=number_format($rdnzeit,2);?>
Minute schnell<p>
Was mir persönlich nicht gefällt ist die Rundenzeit als solche.. Wäre es nicht besser eine Ausgabe mit Sekunden zu definieren.. ??
PHP-Code:
$rdnzeit= $runden * $tank * $multi;
$rdnzeit2 = $rdnzeit / 16.67;
$rdnzeit = $rdnzeit2 + 60;
?>
Durch die <?=$art;?> Reifen haben Sie einen Vorteil.<br>
Deshalb ist ihre tatsächliche Zeit: <?=date('i:s',$rdnzeit);?>
<?=($rdnzeit != 60) ? 'Minuten' : 'Minute';?> schnell<p>
Desweiteren wäre es von Interesse über eine Klasse und Funktionen nachzudenken ...
HTH
Surfe lang und erfolgreich
__________________
yozek
King of my castle - 127.0.0.1
Computer befreien das Denken vom Rechnen
|
06.11.2004, 09:12:35
|
|
SELFPHP Guru
|
|
Registriert seit: May 2003
Beiträge: 7.187
|
|
Zitat:
Original geschrieben von Rudolfsport
jo man hat vorher eine aus whal von 4 reifen. bei den anderen 2 gehts ja, aber hier wills nicht wirklich gehen.
Wie meinst du $reifen = a ? ja wenn er die a variante gewählt hat dann stimmt es so.
Aber den Fheler warum da nicht 275 raus kommt findeste nicht wa?
|
Doch, es wird einfach nie die Bedingung ausgeführt, mit der er 275 rausbekommen könnte, sondern immer du die Anweisung, die von der Bedingung $reifen == 'a' abhängig ist.
|
06.11.2004, 18:37:21
|
Junior Member
|
|
Registriert seit: Sep 2004
Beiträge: 348
|
|
danke es geht. wie sähe jetzt aber eine mindest begrenzung aus? Also man sollte mindestens 10 bei Tankfüllung eingeben und bei runde mindestens 1.
Also wenn einer bei Tankfüllung 9 eingibt, sollte dann da ein tExt kommen, der besagt, dass man so nicht fahren kann. Oder auch bei den Runden. IWe mach ich das?
|
06.11.2004, 18:47:24
|
|
Junior Member
|
|
Registriert seit: May 2004
Ort: Köln
Alter: 43
Beiträge: 226
|
|
PHP-Code:
/* Min Variablen definieren */
$min_runden = '10';
$min_tank = '100';
/* Krass abbrechen */
if ($_POST['runden'] < $min_runden):
die('Zu wenige Runden angegeben, Aufwand lohnt nicht');
endif;
if ($_POST['tank'] < $min_tank):
die('Mit leeren Tank fahren gibts noch nicht ;)');
endif;
Das wäre eine ziemlich krasse Lösung...
Eine Empfehlung wäre per Redirect Befehl nochmal die Seite aufzurufen, wo die Werte angegeben werden und die falsch eingegebenen Werte nocheinmal rot erscheinen zu lassen.
Wenn du viel mit Formfeldern arbeitest, kann ich dir HTML_QUICKFORM von PEAR empfehlen..
HTH
Gruß
__________________
yozek
King of my castle - 127.0.0.1
Computer befreien das Denken vom Rechnen
|
06.11.2004, 21:55:48
|
Junior Member
|
|
Registriert seit: Sep 2004
Beiträge: 348
|
|
hm. ber nun zeigt es nurnoch die fehlermeldung an. egal was ich eingaebe.
PHP-Code:
<HTML>
<BODY>
<center>
<?
/* Min Variablen definieren */
$min_runden = '1';
$min_tank = '10';
/* Krass abbrechen */
if ($_POST['runden'] < $min_runden):
die('Zu wenige Runden angegeben');
endif;
if ($_POST['tank'] < $min_tank):
die('Zuwenig Sprit im Tank');
endif;
/* Min Variablen definieren */
$max_runden = '20';
$max_tank = '100';
/* Krass abbrechen */
if ($_POST['runden'] > $max_runden):
die('Zuviele Runden angegeben');
endif;
if ($_POST['tank'] > $max_tank):
die('Der Tank ist überfüllt');
endif;
switch ($_GET['reifen']) { // Ansonsten bitte das $_POST verwenden
case 'a':
$multi = 1.1;
$art = 'weichen';
break;
case 'b':
$multi = 1.12;
$art = 'harten';
break;
case 'c':
$multi = 1.3;
$art = 'intermediate';
break;
default:
$multi = 1.5;
$art = 'regen';
}
$rdnzeit= $runden * $tank * $multi;
$rdnzeit2 = $rdnzeit / 1000.;
$rdnzeit = $rdnzeit2 + 1;
?>
Durch die <?=$art;?> Reifen haben Sie einen Vorteil.<br>
Deshalb ist ihre tatsächliche Zeit: <?=number_format($rdnzeit,2);?>
Minuten schnell
</center>
</BODY>
</HTML>
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 21:55:49 Uhr.
|