• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Viele hassen ihn, manche schwören auf ihn, wir aber möchten unbedingt sehen, welche Bilder Ihr vor Eurem geistigen Auge bzw. vor der Linse Eures iPhone oder iPad sehen könnt, wenn Ihr dieses Wort hört oder lest. Macht mit und beteiligt Euch an unserem Frühjahrsputz ---> Klick

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
 

dewey

Gewürzluiken
Registriert
01.05.06
Beiträge
5.721
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
 

Casi

Spartan
Registriert
21.12.07
Beiträge
1.601
Das steht doch in den ersten 5 zeilen !?
 

dewey

Gewürzluiken
Registriert
01.05.06
Beiträge
5.721
argh:-[

peiiinlich :D hab da nicht drauf geachtet und nur den php code rauskopiert:mad:
 

kauan

Stina Lohmann
Registriert
31.12.05
Beiträge
1.043
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