WebWork Magazin - Webseiten erstellen lassen, Online Medien, html

Webhoster, Webhosting Provider und Domain registrieren

Home | Registrieren | Einloggen | Suchen | Aktuelles | GSL-Webservice | Suleitec Webhosting
Reparatur-Forum | Elektro forum | Ersatzteilshop Haushalt und Elektronik



Im Homepage und Webhosting-Forum --- $_GET Variablen übergeben.

Scripte und Programme für PHP, MYSQL. Diskussionen zur Programmierung im Web. Fragen zu CMS, Blogsoftware, Shops, Newsletter und vielen weiteren Scripten.

Forum » PHP & MySQL » $_GET Variablen übergeben. - 21 Nov 2024 Antworten
im Forum für Webhosting Homepage gefunden:
$_GET Variablen übergeben.
kpu666
Pixelschubser
Threadstarter




Beiträge: 9

Hallo zusammen,

versuche mir grad PHP beizubringen.

Lese in einem Script $_GET Variblen aus, die aus einer Form übergeben werden.

Wenn ich mit diesen 2 Variblen rechne, sprich einen Operator im Script einfüge, geht das ganze auch:

$erg=$_GET['zahl1'] * $_GET['zahl2'];


Jetz hab ich in der Form ein Feld hinzugefügt:



Das Feld soll die Math. Operation aufnehmen und übergeben.

Habe das Rechner script angepasst:

$erg=$_GET['zahl1'] $_GET['optn'] $_GET['zahl2'];


Wie kann ich den übereden, $_GET['optn'] als Operator zu interpretieren.

Habe mit einem kleinen Script überprüft, ob die GET Variablen übergeben werden.

Sieht gut aus:

array(4) {
["zahl1"]=>
string(5) "30000"
["optn"]=>
string(1) "+"
["zahl2"]=>
string(1) "6"
["rechnen"]=>
string(10) "Ausrechnen"
}

Danke schonma für die Hilfe

---
buh

  Profil   E-Mail   Website   Editieren   Zitieren
kpu666
Pixelschubser
Threadstarter




Beiträge: 9

Welche Regeln hab ich denn gebrochen, das mir keiner antowrtet?

gruesse

karna

---
buh

  Profil   E-Mail   Website   Editieren   Zitieren
Lewi
Quasselstrippe




Beiträge: 287

Nanana, immer mit der Ruhe, wir sind ja auch nicht rund um die Uhr hier.
So, wie du dir das vorstellst, funktioniert das leider nicht, da dein Rechen-Operator nicht so einfach aus einer Variable gelesen werden kann. Schau dir aber mal die Funktion "eval()" (http://de.php.net/eval) an, damit solltest du Erfolg haben.

Gruß
Lewi

---
Lewi = ehemals the_doc

  Profil   Website   Editieren   Zitieren
kpu666
Pixelschubser
Threadstarter




Beiträge: 9

Hi,

danke für die Antwort.

Werd das ma versuchen und schreib dann ma, wie ichs gemacht hab.

gruesse

Karna

---
buh

  Profil   E-Mail   Website   Editieren   Zitieren
kpu666
Pixelschubser
Threadstarter




Beiträge: 9

So klabbet, wenn die GET Variblen aus der Form auch so heissen:

[code


Rechnung


$op = $_GET['optn'];
$zahl1 = $_GET['zahl1'];
$zahl2 = $_GET['zahl2'];
$erg=eval("return($zahl1 $op $zahl2);");
echo $zahl1.$op.$zahl2." = ".$erg;
?>


[/code]

---
buh

  Profil   E-Mail   Website   Editieren   Zitieren
subjective
Forenheld




Beiträge: 844

Klasse und schon kann ich beliebigen PHP-Code über das Script ausführen. Mit eval() muss man extrem vorsichtig sein.

Besser Wäre es, wenn du zum einen die beiden Werte prüfst und eventuell zwangsweise in Zahlen konvertierst und zum anderen den Operator mit einem "switch" abfragst und die Operationen einzeln im Quellcode schreibst. Somit wird eval() überflüssig.


---
Weaverslave

  Profil   Website   Editieren   Zitieren
kpu666
Pixelschubser
Threadstarter




Beiträge: 9

hi,

ich hab das eh noch nicht richtig verstanden.

kannste mir die beiden Zeilen nochma erklären?

$erg=eval("return($zahl1 $op $zahl2);");
echo $zahl1.$op.$zahl2." = ".$erg;

Was macht return da? Woher weiss eval, welche Variable ($zahl1 $op $zahl2) als PHP Code/Operator zu interpretieren ist?

echo $zahl1.$op.$zahl2." = ".$erg;

Ist das erst die Rechnung? Und sagt die "$erg=eval("return($zahl1 $op $zahl2);");" -Zeile NUR, das in diesen Feldern ($zahl1 $op $zahl2) mögliche Operatoren versteckt sind?

Ich hatte das mit eval() richtig geschrieben, aber leider nicht verstanden. :o)

Danke schon im Voraus

karna



---
buh

  Profil   E-Mail   Website   Editieren   Zitieren
kpu666
Pixelschubser
Threadstarter




Beiträge: 9

hi nochma,

so klappts dann mit den Cases:

$op = $_GET['optn'];
$zahl1 = $_GET['zahl1'];
$zahl2 = $_GET['zahl2'];
switch ($op) {

case "+":
$erg = $zahl1+$zahl2;
echo $erg;
break;

case "-":
$erg = $zahl1-$zahl2;
echo $erg;
break;

case "*":
$erg = $zahl1*$zahl2;
echo $erg;
break;

case "/":
$erg = $zahl1/$wert2;
echo $erg;
break;
}
?>

Den anderen Mist braucht Ihr nicht mehr zu beantworten:

eval() liest strings als Code und braucht Reihenfolge um zu operieren.

zB +0 1 ist für php keine vernünftige Rechnung und daher wird das verworfen.

Der Operator muss ja dann hier in der Mitte notiert sein.

richtig?

gruese




---
buh

  Profil   E-Mail   Website   Editieren   Zitieren
subjective
Forenheld




Beiträge: 844

Besser

---
Weaverslave

  Profil   Website   Editieren   Zitieren
 

Antworten
Forum » PHP & MySQL » $_GET Variablen übergeben.

Aktuelle Beiträge zur Hilfe im Forum für Homepage - $_GET Variablen übergeben. im Forum Homepage Hosting AntwortenLetztes Posting
Cybersicherheit für Unternehmen
in "PHP & MySQL"
3 18.11.2024 14:05 von Gaswer
Wirtschaftslage in der Ukraine
in "PHP & MySQL"
3 22.10.2024 15:04 von Gaswer
Rangliste (Ohne Mysql) (Kompliziertes Ordner System)
in "PHP & MySQL"
3 19.07.2021 06:00 von newtopblog
kleines problem mit phpadmin
in "PHP & MySQL"
5 11.04.2021 22:22 von Zavylon
Counter mit PHP
in "PHP & MySQL"
4 22.03.2021 16:29 von Robeni
Fehlermeldung beim Importieren der Datenbank in phpmyadmin
in "PHP & MySQL"
0 02.08.2019 22:14 von iFuchs
CMS für Online Shop
in "PHP & MySQL"
18 26.05.2019 13:29 von raiserle
Regestrierungproblem
in "PHP & MySQL"
3 28.11.2018 13:20 von norbertofahey
PHP Datum ausgeben?
in "PHP & MySQL"
1 19.10.2018 10:04 von Klaus1973
PHP befehl ausführen
in "PHP & MySQL"
11 16.08.2018 09:08 von Klaus1973
Visual Composer selber programmieren?
in "PHP & MySQL"
0 22.01.2017 23:45 von Redji



Besucher : 8126506    Heute : 424     Gestern : 463     Online : 204     21.11.2024    13:47      1 Besucher in den letzten 60 Sekunden        
alle 60.00 Sekunden ein neuer Besucher
Nach oben