• Das kreative Thema des Monats Oktober wird vor allem diejenigen unter Euch besonders ansprechen, denen Do-it-yourself quasi im Blut liegt. Zeigt uns Eure Improvisationskünste oder fotografiert, was andere Leute sich so im Alltag zusammengestrickt haben. --> Zum Mitmachen bitte hier klicken

Quelltextfehler! Nur wo?

Johatho

Jamba
Registriert
02.11.08
Beiträge
56
Habe folgenden Quelltext geschrieben um eine bestimmte Fibonaccizahl zu errechnen (http://de.wikipedia.org/wiki/Fibonacci-Folge#Formel_von_Moivre-Binet)

<form action="#" method="GET">
<input type="TEXT" name="zahl" />
<br />
<input type="SUBMIT" alt="Absenden">
</form>
<br><br>

<?php
$zahl = $_GET['zahl'];
$rechnung1 = (1 + 2.236) / 2;
$rechnung2 = (1 - 2.236) / 2;
$anfang = 0.0447;

function f1($zahl, $rechnung1) {
$ergebnis1 = bcpow($rechnung1, $zahl);
return $ergebnis1;
}
function f2($zahl, $rechnung2) {
$ergebnis2 = bcpow($rechnung2, $zahl);
return $ergebnis2;
}

$ERGEBNIS = $anfang*($ergebnis1 - $ergebnis2);

if (!empty($zahl)) {
echo "<h1>$ERGEBNIS</h1>";
} else {
echo "Keine Zahl eingegeben!";
}
?>


Ich finde den Fehler einfach nicht! Bitte um schnelle Antworten.

mfg
Johatho
 
wo wird den bei dir die $zahl eingegeben du hast ja kein form oder sowas. du solltest noch ein eingabe formular machen wo das dann mittels get an dieses von dir gepostetete weiterschickst
 
Das steht doch in den ersten 5 zeilen !?
 
argh:-[

peiiinlich :D hab da nicht drauf geachtet und nur den php code rauskopiert:angry:
 
Hallo Johatho

Du definierst hier zwei Funktionen:
function f1($zahl, $rechnung1) {
$ergebnis1 = bcpow($rechnung1, $zahl);
return $ergebnis1;
}
function f2($zahl, $rechnung2) {
$ergebnis2 = bcpow($rechnung2, $zahl);
return $ergebnis2;
}
$ergebnis1 und $ergebnis2 sind Variablen, die nur innerhalb dieser Funktion gültig sind.
Deine Funktionen f1 und f2 (übrigens sind deine Funktions- und Variablenbezeichnungen ziemlich ungeeignet. Wenn jemand fremdes, oder auch nur du selbst nach drei Monaten, deinen Code anschaut, versteht er ihn nicht) definierst du nur, du rufst sie aber nie auf.

$ERGEBNIS = $anfang*($ergebnis1 - $ergebnis2);
Hier, wie gesagt, $ergebnis1 und $ergebnis2 gibt es nicht. Das sind nur Variablen, die innerhalb einer Funktion gültig sind (welche aber wiederum gar nicht aufgerufen wird). Hier müsstest du so etwas machen:
Code:
$ergebnis1 = f1($rechnung1);
Mal ganz abgesehen davon
Code:
[FONT=Courier New][B][I]function f1($zahl, $rechnung1) {
  $ergebnis1 = bcpow($rechnung1, $zahl);
  return $ergebnis1;
}[/I][/B][/FONT]
Diese Funktion ist so etwas wie nutzlos. Sie ist Verschwendung, da du nichts anderes tust, als eine bereits existierende Funktion aufzurufen.
Ich finde den Fehler einfach nicht! Bitte um schnelle Antworten.
Du solltest dich mit ganz einfachen Mitteln zum Debugging vertraut machen.

gruss
Jonathan