Működik, de mégis hibát ír. Mi lehet a hiba?
Egy cikket olvasva kedvet kaptam a programozáshoz és a mai napomat rászánva megpróbáltam egy primitív számológépet összehozni HTML-ben ami működik is,de folyton hibát jelez. Valamint ha próbálom bővíteni a programot már egyáltalán nem működik.
Prog.hu-n is feltettem a kérdést, de gyökerek és letörölték válasz nélkül. Pedig erre egyáltalán nem találtam választ ott.
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz1.png)
![*](http://static.gyakorikerdesek.hu/p/vsz0.png)
![*](http://static.gyakorikerdesek.hu/p/vsz0.png)
Az van, amit a hibaüzenet is ír.
Nem definiált értékre hivatkozol.
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz1.png)
if ($muvelet==ad)
Ez lényegében azt jelenti, hogy ha a muvelet nevű változód értéke egyenlő az ad nevű konstans értékével, akkor lépjen az if-ágba. Csakhogy neked nincs ad nevű konstansod. Amit te akarsz, az az, hogy ha a muvelet értéke egyenlő azzal, hogy "ad", akkor lépjen az ágba. Magyarán:
if($muvelet = "ad")
Mert ez íg ymár egy string, és nem egy konstansra való hivatkozás.
Ugyanez pepitában pár sorral lejjebb:
echo "$elso" + "$masodik"
Ezt nem kell idézőjelek közé tenni, mert az $elso és a $masodik nem egy string érték, hanem változónevek. A vicces az, hogy a kettős aposztróf még igazából ki is értékelné a változókat, de a + jel stringek között biztosan nem működne. Tehát ez csak annyi lenne, hogy:
echo $elso + $masodik;
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz0.png)
miért rakod idézőjelbe a változókat?
és miért van, hogy az egyik helyen echot a másikon printet használsz?
(ajánlom, hogy kapcsold be a sorszámokat, hogy könnyebb legyen azonosítani a hiba forrását)
vicces, hogy a változókat idézőjelek közé rajtad, de ami szövegesen érkezik be azt nem, lásd "ad" "von" "szor"
az a hiba, hogy az ad, von, szor úgy van odaírva, mintha egy állandó (konstans) lenne és nem lehet értelmezni ilyen formában, mert a $muvelet egy szöveget tartalmaz, azért működik mégis, mert a hiányzó konstansokat a saját nevével teszi egyenlővé a PHP, ha hivatkozol rá
Köszönöm szépen a gyors válaszokat, rájöttem, hogy mi volt a hiba.
De ha a printet lecserélem echora a 38. sorban, akkor azt írja rá, hogy váratlan echo.
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz1.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz0.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz1.png)
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!