514
PHP HELP
-
#514
Hello!
Hmm.
A múltkor Daud járt hasonlóan. :D
Ha ATW-nél van reged akkor próbálj meg csinálni egy TMP mappát a szerverre.
Ha nem akkor meg nézd meg, hogy a szolgáltatónál lehet e SESSION-t használni.
Bye! -
phoenix1 #513 A hibaüzenet azt jelzi, hogy nem tudja megnyitni a sess_e513ae0f113a8102b2bdcaa0aa1399c3 fájlt írásra-olvasára a tmp mappából, a fájl vagy a mappa nem létezik. -
#512
Hello!
Köszi a segítséged. Sikerült valamit összehozni ami már elég jól működik végre. :) Még egy kis híja azért van de már nem sok. :)
Majd ha egyszer kész lesz a játék küldök nektek üzit és ha lesz kedvetek próbáljátok ki. :)
Bye! -
Daud #511 Megoldotott :) (koszi simaji) ^^ -
Daud #510 Sziasztok, lenne egy olyan kerdes, hogy ez pontosan mit takar?
Warning: session_start(): open(/tmp/sess_e513ae0f113a8102b2bdcaa0aa1399c3, O_RDWR) failed: No such file or directory (2) in /index.php on line 3
Ez egy regszitracios meg belepteto szerver akar lenni.
Ha kell meg mondok infokat. -
Daud #509 Hm, az elozo kerdesemre kaptam valaszt azer kosz vorpal de van masik :) ehhez kapcsolodik:
En most ilyen mmorpg-t akarok osszehozni. Olyasmit mint larkinor ha ismeritek. Szal van egy nagy "vilag" benne mobok es jatekosok es ha ugyanarra a helyre teved 2jatekos talalkozzon egymassal.
Ehhez ugye kell sok tabla
simaji ezt tanacsolta:
Hely tábla
ID|Név |Mobok|
0 Hegy 0,1,2
Mobok tábla
ID|Név |Ütés|Védelem
0 Szörny1 100 10
1 Szörny2 150 100
2 Szörny3 20 200
Játékosok tábla
ID|Név|Holvan|Ütés|Védelem
0 Én 0 200 500
1 Te 0 200 500
Es ehhez az kene hogy php tudja kezelni ezt a dolgot szal felismerje ha 2jatekos ugyanabba a mezobe lepett stb. Mennyire bonyolult ez? :)
A jelenlegi php tudasom sql teren addig terjed hogy uj dolgot hoz letre a tablaban vagy lekerdezi a meglevot.
-
#508
Én úgy számolom, hogy megnézem, hogy a támadónak és a védőnek külön külön mennyi a védelme és a támadása és attól függően vonom ki egymásból a dolgokat, hogy melyik a nagyobb.
Tehát támadó_támadása-védő_védelme és védő_támadása-_támadó_védelme.
Ugyan ez van fordítva is.
Na most ha marad támadó illetve védő értéke akkor azt jelenti, hogy marad embere ezért megnézem, hogy mennyi támadó illetve védő érték maradt és ezt elosztom azzal, hogy mennyi egy adott egység támadása illetve védelme. Ezután megnézem, hogy mennyi volt az aránya az adott egységnek a teljes támadó illetve védő seregben és megszorzom a teljes támadó illetve védő értéket ezzel az értékkel. -
#507
na daud ha kézenfekvő megoldást akarsz kapni konkrét példát kell mondanod - ha van egy id és felhasználó akkor minden más adatot is lehet mellé tenni de hogy ezt az adatbázisban kis méretben tehessük meg szét kell bontanunk táblákra.
Ha nem túl bonyolult a dolog - akkor ez nyilván a felhasználó mezőbe kerül - pl. ha weblapon piros hátteret preferál - ok amikor beállitja és elmenti akkor ezt egy array be helyezed a megfelelő cimkézéssel - tehát pl.
$ prefs = array("pageBg"=>"red", "perPageItems"=>"30") stb és majd ezt szerializálod : $ data = serialize($ prefs) - ezt ezekután beteheted a mezőbe majd ha kiolvasod unserialize() vel ujra arrayt csinálhatsz belőle aamiből az oldal kiolvassa az adatokat. -
#506
Ezen gondolkodtam én is - tehát ezzel gyak ki tudod számolni hogy átüt e a páncélzaton a dolog és ezekután hogy mekkorát sebez - na ehhez viszont életerő is kell és nyilván pl. a támadóerő is csökken a sérüléssel - de nem bonyilitanám az elején - bár miért ne - az ördög a részletekben lakik.
Attól függ mennyi idő áll rendelkezésre stb. de áÁltalában nagyon ajánlatos moduláris módon gondolkodni - tehát majd lesz ilyen is és akkor helyet szoritani számára.
ez csak a támadó részéről számol - tehát támad és müködik e - ha nem akkor meguszta a védő és vége a körnek - ha a koncepció az hogy a védő meg visszatámad akkor ő lesz a támadó - tehát a perspektiva változik az egyenlet nem.
Illetve lehetséges még az adokkapok - amig kipurcan illetve az adokkapok és sérülés amiről irtam.
Seregnél ez ugy müködik, hogy egy ember egy emberre ront és kiszámolja győz e vagy veszit az egy ha vége akkor a következőkkel csinálják ezt ésigytovább addig amig egy bizonyos szám alá nem esik az egyik sereg létszáma és megfutamodik illetve a végsőkig kitart nemtudom.
Szerintem ne bonyolitsuk azzal, hogy belekalkuláljuk a kettő ember ront 1re bónuszt mert hülyét kapok,D
igy van a kérdés a végén helyes - báár nemértem de ez rendkivül eccerü egyenlet - egy egyre ront és vagy megöli vagy nem akkor az visszatámad és vagymegöli vagynem - pont
aztán a többi is ezt teszi egy seregben és aki marad az győz. -
Daud #505 regisztralnak. most van egy olyan sql tablam ahol felveszi a usernamet a passt e-mailt ilyeneket es mindegyikhez rendel egy IDt is. Most akkor egy olyan kene hogy az ID melle rendeli valtozokat ugye? -
#504
Hmm. Köszi! :D
Pont ez kell nekem! Mintha már eszembe jutott volna, hogy azt is kéne valahogy számolni, hogy eltalálja e de nem biztos. :)
Mindenesetre az én módszerembe nincs benne sőt még nem is hasonlít ehhez a megoldáshoz amit adtál. :)
Köszi!
De ezzel kapcsolatba lenne egy kérdésem is. :)
Ezt oda vissza számoljam? Tehát a támadó és a védő részéről is?
Gondolom igen mert mind a ketten veszíthetnek egységeket de akkor, hogy döntsem el, hogy ki veszít többet? Tehát most ha azt nézem előbb, hogy mennyi embert veszít a támadó akkor már ha a védőket így számolom, hogy mennyi esik el akkor úgy nem jó szerintem. :)
Na most gondolom itt összesített védő illetve támadó értékkel kell számolni de akkor csak egyszerűen vegyem a támadónak a támadási erejét és a védőnek a védő erejét és fordítva? -
#503
daud tudni kell hozzá nekünk, hogy a játékosok regisztrálnak vagy akárki jácchat e? -
#502
jajh amire én ezt kibogarásztam simaji.D
nnah : attack - defense itt ez az oldal szépen elmondja hogy kell attack demage számitást csinálni - a végeredmény egy százalék monnyuk 89% eséllyel üti meg a támadó az ellenfelet.
ezt megjáccod ugy hogy random 1 től 100 ig kidobsz és ha a random alatta van átüt ha nincs lepattan.
a sebességet nem harc közben számoljuk monnyuk és abból indultam ki hogy egy egység egy entitás és nem egy sereg része.
-
#501
Hát nekem kapásból kb. 7 táblám van minden tárolására de ez nem biztos, hogy a legjobb megoldás. :)
Én pl. tárolom a nevet, jelszót, regisztráció időpontját, és később esetleg a beállításokat (Pl: háttérszín, törli e magát a felhasználó) egy táblában. A másikban vannak, az egységek tárolva tehát, hogy megadott felhasználó mennyi egységgel rendelkezik esetleg megadott városba, faluba.
Minden felhasználónak van egy saját ID-ja ami egyedi és csak az övé ezzel lehet beazonosítani. A név azért nem jó mert ékezet és egyéb karakter is lehet benne ami bezavarhatja a PHP-t vagy egyéb dolgokat. :) -
Daud #500 Igen, enis sql-re gondoltam, de egy kicsit konkretabban kene, en valami olyasmit gondoltam, hogy a felsz nevhez sql tablaban tartoznak a valtozok esetleg? vagy nemtom lehet hogy hulyeseg -
#499
Nos szerintem neked a MySQL kell. :)
Vagy ha ebben nem vagy jártas és a szerver ahol használni szeretnéd a cuccot megengedi a fájlba írást akkor azt i használhatod mentésre.
Ott van még a cookie de az szerintem max arra jó, hogy ha valaki bejelentkezik az oldaladra ne kelljen neki mindig újra bejelentkezni ha egy linkre kattint. -
#498
Köszi a válaszod. Azt hittem, hogy senki sem fog nekem ebben tudni segíteni de úgy látszik, hogy Hála Isten-nek tévedtem. :)
Nos a játék a jövőben játszódik. Kitaláltam egy rakat egységet de nem akarom túl bonyolítani a dolgot.
Annyi a lényeg, hogy minden egységnek 3 tulajdonsága van amit megadott fejlesztésekkel lehet növelni.
Ezek a tulajdonságok:
- Sebzés: Az egység támadó ereje.
- Páncélzat: Az egység védelmi ereje.
- Motor: Az egység sebessége.
Minden egységnél van egy külön alapérték minden tulajdonsághoz és ehhez jön a bónusz a fejlesztéstől függően.
Csak ennyi adat van tehát pl. terep tulajdonságokat illetve fejlődést azt nem veszem figyelembe. Majd talán később. :)
Meg azon gondolkozdtam, hogy támadásnál a a támadónak a támadó erőt és a védőnek a védő erőt kell összevetni de ugyanakkor a védőnek a támadóértékét is össze kell vetni a támadó védő erejével és így jön ki, hogy mennyi ember is marad meg a végén.
Nos a travian-ba valahogy az arányokkal babráltak de nem tudom, hogy hogy.
Egyébként egy faj van a játékban: az emberek.
Bye! -
Daud #497 Sziasztok nekem egy olyan kerdesem lenne, hogy hogyan kene elmenteni egy lapot, hogy a felhasznalo kesobb visszaterve azt lassa amit otthagyott.
Egyszeruseg kedveert itt ez a jo pelda (ez a jatek) szal, hogy ha a jatekos csinal valamit ebben a jatekban azt hogyan tudom elmenteni ugy, hogyha ujra visszamegy az oldalra akkor azt lassa ahogy otthagyta az elozo kilepesnel.
Meg 1pelda a biztonsag kedveert: Ha a jatekos felépit egy epuletet kilep, akkor hogyha visszalep legyen ott az az epulet.
En nem ilyen bonyi dolgot akarok csinalni mint simaji de ez a pelda volt keznel.
ui.: reggel van sry ha furan irtam :)) -
#496
hát ez mókás kérdés :
tehát eleve az ismert elemekből kéne kiindulni - igy lehet felépiteni egy egyenletet. Milyen aspektusai ismertek a seregnek - támadó védő érték + veterancia - vezető járatossága - terep - felépités (ijász lövész stb.)
Minél több ilyen ismert érték van annál könnyebbé válik eldönteni.
Eleve pl. távolsági harcnál az iniciativa az ijászokat használóknál.
Melyik korban játszódik? Rakjunk még hozzá egy csomó ilyet és meglesz - ez kemény menet lesz.) -
#495
Hello mindenki!
Nos hát nekem elég komoly segítségre lenne szükségem ami talán túl is megy a szimpla PHP kérdéseken. :)
Nos akkor le is írom:
Szeretnénk haverommal csinálni egy stratégiai játékot böngészőbe. Olyasmit mint ez: www.travian.hu
Én elkezdtem régebben csinálni magamban egy ilyen játékot ami elég jól haladt egy pontig de sajnos elakadtam.
A játékban az a lényeg, hogy minél jobban fejlődjünk fel ehhez pedig nyersanyag kell amit kétféleképpen lehet szerezni: 1. kitermeljük
2. másoktól ellopjuk.
Ezen kívül lehet másokat azért is támadni, hogy vissza vessük őket a fejlődésben.
Ebből is látszik, hogy a seregre és a támadásokra nagy szükség van.
A seregnek egyébként van támadó és védő ereje amit lehet fejleszteni is a későbbiek során.
Na most az a gond, hogy ha én támadni szeretnék valakit akkor nem tudom, hogy mi alapján számoljam ki, hogy mennyi embert veszítek illetve az ellenség mennyit veszít.
Igazából nekem csak egy képelt kéne vagy valami rávezetés a helyes megoldásra de gondoltam ide írom be mert végül is PHP-val kapcsolatos. :D
Köszönöm mindenkinek előre is!
Bye!
-
gadamka #494 de nem üres... -
#493
ha üres a fájl nem ir ki semmit -
gadamka #492 hm... még igy sem ir ki semmit... :S -
gadamka #491 1.hát épp az az h nem ir ki semmit.... peid én azt szeretném h kiirja a kiolvasott szöveget
2. hupsz kösz xD
3.oks :D -
#490
1. Mi az hogy nem működik? Milyen hibaüzenetet ír ki?
2. $b = fopen( $a, "r" - nem jó.
Nincs lezárva.
$b = fopen( $a, "r" );
3. while (! feof($b, 1024) )
Az feof függvény nem így működik. Nincs második paramétere.
A legjobb ha elolvasod a fgets leírását. Ott van egy példa.
-
gadamka #489 aham... oks. am lenne 1 köv kérdésem is. simán a fájlbol valo kiolvasás.
index.html:
...
<form action="olvas.php" method="get">
<input type="submit" name"gomb2" value="ok">
</form>
...
olvas.php:
<?php
$a = "proba.txt";
if ($_GET["gomb2"]=="ok"){
$b = fopen( $a, "r"
while (! feof($b, 1024) )
{
$sor = fgets($b, 1024);
print "$sor<br>";
}
fclose($b);
}
?>
legalábbis ennyit tudtam összehozni... de nem müxik... plz hlp :)
-
#488
"ami könyvböl tanulok abban nem volt szó az elágazásoknál az "echo"-ról"
Az echo pedig az első parancsok egyike: ezzel írunk ki karakterláncokat.
Olyan mint Basicben vagy C-ben a print, Pascalban a write/writeln.
Az elágazások jelen esetben, pedig hibaellenőrzés miatt vannak benne.
Ha nem tudjuk megnyitni/írni az állományt kijelezzük, és megszakítjuk a program futását (exit). -
gadamka #487 huh köszi szépen! nagy vagy :D
lehet picit nagy fába akartam vágni a fejszémet :D
egy kérdésem lenne még... ami könyvböl tanulok abban nem volt szó az elágazásoknál az "echo"-ról. de máshol is látatm már. eltudnád magyarázni h pontosan az echo-t mikor is használjuk? -
#486
"egy text mezöbe beirok vmit és azt egy txt fájlba menti ki"
No akkor kezdjük az alapoknál:
1. Kell egy űrlap. Ehhez alapvetően nem kell PHP, elég a HTML is.
A későbbi anyázások elkerülése végett érdemes ügyelni a rendes kódolásra (dokumentumtípus, karakterkódolás), mert amikor CSS-sel formázni fogod, leginkább IE alatt érdekes szituációkba kerülhetsz (nem akkora lesz, elcsúszik, stb...).
Tehát:
<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 'http://www.w3.org/TR/html4/loose.dtd'>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-2">
<title>Űrlap</title>
</head>
<body>
<form action="almas.php" method="post">
<input type="text" name="alma">
<input type="submit" name="gomb" value="ok">
</form>
</body>
</html>
Vegyük észre, hogy sehol egy include. Minek is akarjuk az írást végrehajtó részt beleintegrálni az oldalba, ha az űrlapnál megadjuk, hogy melyik oldalnak küldjük el az adatokat? Döntsük el, vagy integrálunk és akkor nem kell a <form> tagnek action attribútumba megadni semmit, vagy nem integrálunk, de akkor meg nem kell include.
Másrészt a szövegmező name attribútumának értéke elé nem kell $ jel.
2. Kell egy, az írást végrehajtó rész (almas.php):
<?php
$filename = "proba.txt";
if (is_writable($filename)) {
if (!$handle = fopen($filename, "a")) {
echo "Nem tudom megnyitni a ".$filename." állományt.";
exit;
}
if ($_POST["gomb"]=="ok") {
if (fwrite($handle, $_POST["alma"]."\n") === FALSE) {
echo "Nem tudom írni a ".$filename)." állományt.";
exit;
}
echo "Az állomány írása sikeres volt.";
}
fclose($handle);
} else {
echo "Az állomány nem írható";
}
?>
Itt érdemes megemlíteni, hogy az űrlap mezői nem egyszeri változókként használjuk.
Régebben még lehetett így használni, de most már az űrlap elküldésének metódusától függő tömböket kell használni.
Másrészt érdemes ellenőrizni, hogy az adott űrlapot tényleg elküldték-e, nem-e máshonnan származik az adat. Erre egy minimumvédelem, hogy leellenőrizzük, hogy a "gomb" nevű űrlapot elküldő gomb értéke "ok"-e (ez akkor mindenképpen kell, ha az űrlapot és az írást végző részt egybeintegráljuk).
3. Ha integrálni akarjuk az űrlapot és a mentést végző részt:
* Az index-állománynak .php kiterjesztésűnek kell lennie
* A <form> tag action attribútuma maradhat üresen.
* A </form> után és a </body> elé az alábbi kerül:
<?php
include ("almas.php");
?> -
gadamka #485 hali lenne egy kérdésem... most kezdtem php-t tanulni. és amugy is kezdö vok még a programozásban...
egy alap programocskát szeretnék csinálni: egy text mezöbe beirok vmit és azt egy txt fájlba menti ki. kezdetnek ezt szeretném elérni.
ennyi van meg:
index fájl:
<html>
<head>
</head>
<body>
<form action="almas.php" method="post">
<input type="text" name="$alma">
<?php
include("almas.php");
?>
<input type="submit" value="ok">
</form>
</body>
</html>
almas.php:
<?php
$a = fopen( "proba.txt", 'w');
fwrite ($a, "$alma");
fclose( $a);
?>
probálkoztam de sehogy sem tom összehozni... lécci segitsen vki!
elöre is kösz -
#484
köszi -
#483
disk_free_space -
#482
Üdv, azt hogy lehetne megoldani, hogy kiírja a rendelkezésre álló tárhely méretét? -
#481
Tanulságos megfigyelni, hogy register_globals a PHP 6 tól ki lesz véve - igy sem értem melyik elmezavarodottnak jutott az eszébe. -
#480
Köszi. Akkor úgy látszik, hogy a szerveren van a gond és nem a programmal. -
#479
Azért nem látszódik, mert PHP-ban a register_globals kikapcsolt állapotban van (biztonsági okokból ez az alapbeállítás).
Mivel GET metódust használsz, a javasolt megoldás:
print ("Üdvözlet ".$_GET["felhnev"]."<br>");
print ("Ezt írtad:<br>".$_GET["iras"]); -
#478
Ok, megvan a <br>. Viszont lenne egy gondom.
Próbálkozom egy HTML-es űrlap php programmal való kezelésével. Nagyon alap a cucc, még csak próbálkozom. Annyi lenne, hogy van egy űrlap, azon egy input és egy textarea mező, lent pedig egy küldés gomb. Az lenne a dolog, hogy a kis mezőbe bekerül egy szó és a textarea-ba egy szöveg. A küldés gombra kattintva a PHP program kiírja, hogy Üdvözlet *** és alá, a szöveget, ami a textarea-ban volt. Az a baj, hogy amit megadtam a print utasításban, hogy írjon ki, azt kiírja, de ahol az űrlapon lévő változót írná, az már nem jelenik meg. Mi lehet a baj?
Itt vannak az oldalak:
Űrlap HTML kódja:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Űrlap</title>
</head>
<body>
<form action="program.php" method="get">
<input type="text" maxlength="12" name="felhnev">
<br>
<textarea name="iras" rows="5" cols="40"></textarea>
<br>
<input type="submit" value="Küldés">
</form>
</body>
</html>
PHP program:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Program</title>
</head>
<body>
<?php
print ("Üdvözlet $felhnev<br>");
print ("Ezt írtad:<br>$iras");
?>
</body>
</html> -
#477
Én úgy veszem észre, hogy a print utasításnál a \n csak egy szókoz. Ez így nem jó? Akkor hogyan tudok új sorba lépni? A <P>-t ismerem még PHP-be, de az meg ki is hagy egy sort. -
#476
Köszi, ez nagy segítség volt. -
#475
"\n" - C newline karakter - új sor - sortörés - pl. hasznos ha HTML kódot akarod fésülni a PHP kimenetből de emailben is ha nem HTML </br>t használod szöveges mailnél