mathe funktionen

Alles, was PHP betrifft, kann hier besprochen werden.

mathe funktionen

Postby cjanischek » 13. August 2006 18:46

ich bin neu und habe hier erste versuche gestartet ein paar mathe funktionen auszugeben. eigentlich sollte das kein problem darstellen aber irgendwie stehe ich auf dem schlauch. sieht jemand von euch beim d'rüberschauen den fehler?

liebe grüsse tine

Code: Select all
<?php

$i= rand(1,10);
echo $i;

if($i = 1){
      echo 'die zahl pi \n';/* ausgabe pi */
      echo M_PI;

   }elseif ($i = 2){
      echo 'das maximun \n';/* liefert maximalen wert der liste */
      echo max(4,8,1,10);
      break;
      
   }elseif ($i = 3){
      echo 'dezimal in hex \n';/* umrechnung einer dezimalzahl nach hex: */
      echo dechex(255);
      break;
   }elseif ($i = 4){
      echo 'die zufallszahl \n';/*liefert eine zufallszahl zwischen 1 und 100, mit aktualisieren ergibt sich ein neuer zufallswert: */
      echo rand(1,100);
      break;
   }else{
      $a = 0,34;   
      echo 'runden \n';
      echo round($a,1);/*runden von dezimalzahlen mit 2 nachkommastellen auf eine*/
      break;
   }

?>
cjanischek
 
Posts: 20
Joined: 12. August 2006 18:38

Postby Wiedmann » 13. August 2006 18:53

sieht jemand von euch beim d'rüberschauen den fehler?

Direkt beim Auffurfen muss doch PHP schon abbrechen mit einer Fehlermeldung von einer bestimmten Zeile...
Warum postest du diese Fehlermeldung nicht? Bzw. warum schaust du dir nicht diese Zeile genauer an...

Danach machen wir dann die anderen 2 Fehler ;-)
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby Mätes » 14. August 2006 13:38

ob es wohl sein kann, das herr wiedmann mal eben meine beiträge gelöscht hat?
User avatar
Mätes
 
Posts: 142
Joined: 13. April 2006 09:34
Location: kölle

Postby cjanischek » 16. August 2006 16:14

Wiedmann wrote:
sieht jemand von euch beim d'rüberschauen den fehler?

Direkt beim Auffurfen muss doch PHP schon abbrechen mit einer Fehlermeldung von einer bestimmten Zeile...
+++++ ich benutze quanta eine linuxapplikation einen php debugger habe ich noch nicht ausfindig gemacht...werd# mich ma schlau machen. im browser (firefox) wird einfach nix angezeigt....mmh und auf der konsole sagt er mir lediglich zeile 32 an -->korrektur:0.34

Warum postest du diese Fehlermeldung nicht? Bzw. warum schaust du dir nicht diese Zeile genauer an...
++++++ ich bekomme keine fehlermeldung ..schnief

Danach machen wir dann die anderen 2 Fehler ;-)

+++++au ja wenn ich diesen debugger finde :)
cjanischek
 
Posts: 20
Joined: 12. August 2006 18:38

Postby Wiedmann » 16. August 2006 16:34

au ja wenn ich diesen debugger finde

Welcher Debugger? Für was ? Bzw was für einen Text zitierst du da?
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby cjanischek » 18. August 2006 10:22

Wiedmann wrote:
au ja wenn ich diesen debugger finde

Welcher Debugger? Für was ? Bzw was für einen Text zitierst du da?
>>> eigentlich meinte ich den text: "Danach machen wir dann die anderen 2 Fehler Wink" , hatte vergessen /quote zu versetzen...
>>> ich bekomme jetzt übrigens ne ausgabe :) nur an der formatierung solte ich noch änderungen vornehmen ..

liebe grüße tine
cjanischek
 
Posts: 20
Joined: 12. August 2006 18:38

Postby cjanischek » 18. August 2006 11:29

[quote="Wiedmann"][quote]au ja wenn ich diesen debugger finde
Welcher Debugger? Für was ? Bzw was für einen Text zitierst du da?[/quote]
+++++++++na deinen in bezug auf die fehlermeldung die ich posten sollte (hab' keine).....werd das komandozeilen tool zum debuggen nutzen, wobei der mir bei syntaxfehlern natürlich nicht hilfreich sein wird dazu meine frage:

1. im moment führt er rand aus, überspringt aber die überprüfung von $i und führt den ersten zweig der if anweisung aus, warum?
2. warum interpretiert er \n nicht?
anbei nochma den aktuellen code und die ausgabe dazu...

CODE:
<?php

$i= rand(1,10);
echo $i;
echo "\n";

if($i=1){
echo "die zahl pi\n";/* ausgabe pi */
echo M_PI;

}elseif ($i=2){
echo "das maximun \n";/* liefert maximalen wert der liste */
echo max(4,8,1,10);

}elseif ($i=3){
echo "dezimal in hex \n";/* umrechnung einer dezimalzahl nach hex: */
echo dechex(255);
}elseif ($i=4){
echo "die zufallszahl \n";/*liefert eine zufallszahl zwischen 1 und 100, mit aktualisieren ergibt sich ein neuer zufallswert: */
echo rand(1,100);
}else{
$a = 0.34;
echo "runden \n";
echo round($a,1);/*runden von dezimalzahlen mit 2 nachkommastellen auf eine*/
}

?>

AUSGEABE:
10die zahl pi 3.1415926535898

danke für deine unterstützung und liebe Grüße tine
Last edited by cjanischek on 18. August 2006 12:00, edited 1 time in total.
cjanischek
 
Posts: 20
Joined: 12. August 2006 18:38

Postby Wiedmann » 18. August 2006 11:56

+++++++++na deinen in bezug auf die fehlermeldung die ich posten sollte (hab' keine).....

Wieso brauchst du da einen Debugger? Der hätte dir da wohl auch wenig geholfen ;-) Setzt ja auch Grundlagenwissen voraus...

BTW: Du hattest eine Fehlermeldung. Nur hast du diesen Fehler mittlerweile korrigiert:
Vorher: $a = 0,34;
Jetzt: $a = 0.34;

2. warum interpretiert er \n nicht?

Den 2. Fehler hast du auch schon korrigiert
Vorher: echo '... \n';
Jetzt: echo "... \n";
(Obwohl es zu diesem Punkt noch etwas zu sagen gibt...)

Also schreib doch bitte genau was du bereits selber gelöst hast.

anbei nochma den aktuellen code und die ausgabe dazu...

Oder hast du dir das von jemanden "vorkauen" lassen, ohne zu Wissen was warum überhaupt geändert wurde?

1. im moment führt er rand aus, überspringt aber die überprüfung von $i und führt den ersten zweig der if anweisung aus, warum?

Auch wenn das natürlich auch nicht funktioniert ;-) Schreib die Zeile 7 mal zu um:
Alt: if($i=1){
Neu: Vorher: if(1=$i){

Dann schau mal was passiert...
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby cjanischek » 18. August 2006 12:10

2. warum interpretiert er \n nicht?

Den 2. Fehler hast du auch schon korrigiert
Vorher: echo '... \n';
Jetzt: echo "... \n";

Also schreib doch bitte genau was du bereits selber gelöst hast.

+++++++++++moment ma das funktioniert aber trotz doppelter anführungszeichen nicht...das ist ja das curiose

anbei nochma den aktuellen code und die ausgabe dazu...

Oder hast du dir das von jemanden "vorkauen" lassen, ohne zu Wissen was warum überhaupt geändert wurde?
++++++++++ ich probiere aus und sitz allein vor dem computer...

1. im moment führt er rand aus, überspringt aber die überprüfung von $i und führt den ersten zweig der if anweisung aus, warum?

Auch wenn das natürlich auch nicht funktioniert ;-) Schreib die Zeile 7 mal zu um:
Alt: if($i=1){
Neu: Vorher: if(1=$i){

+++++++++++nix passiert jetzt bekomm' ich noch nich ma mehr ne ausgabe umpf..

Dann schau mal was passiert...

trotzdem lieben dank tine
Last edited by cjanischek on 18. August 2006 12:18, edited 1 time in total.
cjanischek
 
Posts: 20
Joined: 12. August 2006 18:38

Postby Wiedmann » 18. August 2006 12:17

Vorher: echo '... \n';
Jetzt: echo "... \n";

+++++++++++moment ma das funktioniert aber trotz doppelter anführungszeichen nicht...das ist ja das curiose

Hast du dir mal den Unterschied in der Quelltextansicht von deinem Browser angeschaut?

Alt: if($i=1){
Neu: Vorher: if(1=$i){

+++++++++++nix passiert jetzt bekomm' ich noch nich ma mehr ne ausgabe umpf..

Du hast keinen XAMPP?


BTW:
Wenn du den Quote-Knopf beim Beantworten besser benutzt, kannst du dir die "+++++++++" sparen, und man kann deine Antworten viel besser lesen ,-)
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby cjanischek » 18. August 2006 12:34

Wiedmann wrote:
Vorher: echo '... \n';
Jetzt: echo "... \n";

+++++++++++moment ma das funktioniert aber trotz doppelter anführungszeichen nicht...das ist ja das curiose

Hast du dir mal den Unterschied in der Quelltextansicht von deinem Browser angeschaut?
irgendwie zeigt der mir keinen seitenquelltext an im browser aber im editor sieht man das syntax highlighting nur bei version 2

Alt: if($i=1){
Neu: Vorher: if(1=$i){

+++++++++++nix passiert jetzt bekomm' ich noch nich ma mehr ne ausgabe umpf..

Du hast keinen XAMPP?
alle dienste selbst installiert auf meiner linux umgebung suse 10.1 ...läuft auch alles soweit dachte ich...


BTW:
Wenn du den Quote-Knopf beim Beantworten besser benutzt, kannst du dir die "+++++++++" sparen, und man kann deine Antworten viel besser lesen ,-)
probiere das gerade aus :)

bis denne dankeschön und liebe grüße tine
cjanischek
 
Posts: 20
Joined: 12. August 2006 18:38

Postby Wiedmann » 18. August 2006 12:39

irgendwie zeigt der mir keinen quelltext an im browser

Was hast du für einen Browser? Bei den meisten sollte man das (Quelltext) ja beim Rechtsklick im Browserfenster auswählen können.

alle dienste selbst installiert

Ändere mal in deiner "php.ini" mind. folgende 2 Einstellungen:
Code: Select all
display_errors = On
error_reporting  =  E_ALL

(Danach evtl. den Apachen neu starten)
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby cjanischek » 18. August 2006 13:25

Wiedmann wrote:
irgendwie zeigt der mir keinen quelltext an im browser
Was hast du für einen Browser? Bei den meisten sollte man das (Quelltext) ja beim Rechtsklick im Browserfenster auswählen können.

firefox und im seitenquelltext zeigt er mir das so an wie ich es gerne haben möchte... aber eben nur im seitenquelltext,äh...
alle dienste selbst installiert

Ändere mal in deiner "php.ini" mind. folgende 2 Einstellungen:
Code: Select all
display_errors = On
error_reporting  =  E_ALL

ok erledigt... display_errors = Off musste ich auf On umstellen reporting-eros staus war bereits E_All... habe nen bissl nach der php.ini gesucht aber lag# dan schön brav in:
localhost:/etc/php5/apache2 # ls
php.ini

(Danach evtl. den Apachen neu starten)


...und neu gestartet hab# ich den apache2 auch

liebe grüße tine
Last edited by cjanischek on 18. August 2006 13:34, edited 2 times in total.
cjanischek
 
Posts: 20
Joined: 12. August 2006 18:38

Postby Wiedmann » 18. August 2006 13:31

Ändere mal in deiner "php.ini" mind. folgende 2 Einstellungen:

ok erledigt...

Und hast du jetzt Erkenntnisse was dein Problem mit "if" angeht?

firefox und im seitenquelltext zeigt er mir das so an wie ich es gerne haben möchte... aber eben nur im seitenquelltext,äh...

Naja, auch wenn du hier ja nicht wirklich HTML ausgibst, erwartet ein Webbrowser dieses natürlich (i.d.R) und versucht zumindest das Gelieferte nach den Regeln von HTML darzustellen.
Ergo:
Wann macht ein Browser (oder wie macht man in HTML) einen Zeilenumbruch (fängt eine neue Zeile an)?
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby cjanischek » 18. August 2006 13:49

Wiedmann wrote:
Ändere mal in deiner "php.ini" mind. folgende 2 Einstellungen:

ok erledigt...

Und hast du jetzt Erkenntnisse was dein Problem mit "if" angeht?

also so if(1=$i) kommt syntaxerror line 15

und so if($i=1) kommt:
5 die zahl pi 3.1415926535898

firefox und im seitenquelltext zeigt er mir das so an wie ich es gerne haben möchte... aber eben nur im seitenquelltext,äh...

Naja, auch wenn du hier ja nicht wirklich HTML ausgibst, erwartet ein Webbrowser dieses natürlich (i.d.R) und versucht zumindest das Gelieferte nach den Regeln von HTML darzustellen.
Ergo:
Wann macht ein Browser (oder wie macht man in HTML) einen Zeilenumbruch (fängt eine neue Zeile an)?

nach einem <br>; und? ...

wenn ich einen <br> setze macht er:
Parse error: syntax error, unexpected '<' in /srv/www/htdocs/mathe.php on line 17

wenn ich einen break; setze macht er einen zeilensprung aber sagt:
1 die zahl pi
Fatal error: Cannot break/continue 1 level in /srv/www/htdocs/mathe.php on line 17 werd da nicht wirklich schlau d'raus...

wenn ich einen phpbreak; setze kommt folrgnedes:
4 die zahl pi 3.1415926535898
Notice: Use of undefined constant phpbreak - assumed 'phpbreak' in /srv/www/htdocs/mathe.php on line 18, wie kann eine kleine sache nur soooo kompliziert sein... is ja nich gerade motivierend...

vielen lieben dank erst ma und liebe grüße tine
Last edited by cjanischek on 18. August 2006 14:57, edited 2 times in total.
cjanischek
 
Posts: 20
Joined: 12. August 2006 18:38

Next

Return to PHP

Who is online

Users browsing this forum: No registered users and 5 guests