ugrás a tartalomhoz

Mi lehet a baj ezzel a kóddal? (2.)

bblence · 2011. Júl. 12. (K), 16.05
<html>
<head>
<title>
</title>
</head>
<body>
<?php
$felhasznalo = "";
$jelszo = "";
$adatbazis = "";
$kapcsolat = mysql_connect( "",
$felhasznalo, $jelszo );
if ( ! $kapcsolat )
die( "Nem lehet kapcsolódni
a MySQL kiszolgálóhoz!" );
mysql_select_db( $adatbazis, $kapcsolat )
or die ( "Nem lehet megnyitni a $adatbázist:
".mysql_error() );
$penz = "-1000";
$aktualispenz = mysql_fetch_array(mysql_query('SELECT penz FROM penz WHERE azonosito = 1'));
if ($aktualispenz['penz']<(0-$penz))
{
echo 'Nincs elég pénz!';
}
else
{
$parancs = "UPDATE penz SET penz = penz+$penz WHERE azonosito = 1 ";
mysql_query( $parancs, $kapcsolat )
or die ( "Nem lehet adatot hozzáadni
a "penz" táblához: "
.mysql_error() );
}
mysql_close( $kapcsolat );
?>
Sikeres!
<meta http-equiv="Refresh" content="2; URL=mainap.php">
</body>
</html>
A hibaüzenet pedig:
Parse error: syntax error, unexpected T_STRING
 
1

grrrrr

H.Z. v2 · 2011. Júl. 12. (K), 16.20
1. Tanuljatok meg végre kódot formázni!
2. Szerintem írt a hiba mellé sorszámot is a PHP (ha nem, akkor bocs)
3. PHP-nek van parancssori változata (legalábbis az én rendszeremen van), ha az x.php file-ban van a kód, akkor "php -l x.php" formában futtatva kiírja, hol a baja.
Abból kiderül az is, hogy mit rontottál el.
4. Hacsak nem törölték az előzőt, teljesen felesleges volt újra nyitni a topikot, ott is módosíthattad volna a leírást.
2

Igaz

bblence · 2011. Júl. 12. (K), 16.26
Igazad van!
Egyébként írt sorszámot. Azt írja a 30. sorban van a hiba, ha jól tudom azt jelenti az "on line 30".
Mellesleg ezen a fórumon kezdő vagyok. A kódot amennyire tudtam megformáztam. Hogyan tudnám megformázni jobban?
4

Siker

bblence · 2011. Júl. 12. (K), 16.31
Na azt hiszem rájöttem mi volt a hiba. Most már működik.
Köszönöm azért a segítséget. A programban ez volt a hiba:
or die ( "Nem lehet adatot hozzáadni
a \"penz\" táblához: "
.mysql_error() );
helyette:
or die ( "Nem lehet adatot hozzáadni
a \"penz\" táblához: "
.mysql_error() );
5

Nem a fórumon

Poetro · 2011. Júl. 12. (K), 16.36
Hanem a kódot kellene formázni. Azaz megfelelő sor eleji közök hiányoznak. Ez kb. úgy néz ki, mint ha valamit idehánytak volna.
6

Hogyan tudnám megformázni

kuka · 2011. Júl. 12. (K), 16.36
Hogyan tudnám megformázni jobban?
Nézz rá az Indent style Wikipédia szócikkre. Többféle forráskód formázást mutat, mindegyik olvashatóbb mint az a bekezdés nélküli kód amit te írtál.
7

???

bblence · 2011. Júl. 12. (K), 17.04
Így van, valóban olvashatóbbak, de azt mondd meg, hogy miként formázzam le? Ezeket a stílusokat nekem kellene alkalmaznom írásnál? Esetleg valamilyen program ilyenné teszi?
8

Alkalmazni kell

Poetro · 2011. Júl. 12. (K), 17.09
Amennyiben a szerkesztő nem teszi meg helyetted, neked kell kézzel alkalmazni. Természetesen léteznek rá eszközök, amivel automatikusan meg lehet formázni a kódot, ám jobb ha megtanulod, hogyan kell kézzel, és alkalmazod is.
9

Köszönöm

bblence · 2011. Júl. 12. (K), 17.32
Értem, köszönöm a válaszod.
Ezentúl megpróbálok ezen stílusok valamelyikéhez alkalmazkodni.
3

Escape-elned kell a szövegben

pinguka · 2011. Júl. 12. (K), 16.31
Escape-elned kell a szövegben a "-t! Rosszul értelmezi így.

Ha "" közé akarsz rakni "-t akkor így tedd \"penz\". Vagy pedig így 'penz' simán.
10

Még azért lehetnek gondok a

nistvan · 2011. Júl. 13. (Sze), 02.24
Még azért lehetnek gondok a kódoddal a 30-as sort leszámítva is. Például ha mysql_select_db hibát dob a 17-es sorban, akkor az megint egy PHP hibát fog eredményezni, mert olyan, hogy "$adatbázist" nincs, valószínűleg elírtad.
Maguk a lekérdezések formázása is elég furcsa, de amit legfőképp nem értek, miért -1000 a referenciapénz, ráadásul stringként tárolva?
11

-1000

bblence · 2011. Júl. 14. (Cs), 09.32
Ha az aktuális pénzedhez hozzáadsz -1000-et, akkor 1000-el kevesebb lesz a pénzed.