Autorius Tema: Kaip pazymeti kuris mygtukas buvo paspaustas?  (Skaityti 108 kartai)

PhpNewbie

  • Forumo naujokas
  • Žinutės: 3
  • Karma: +0/-0

  • Aktyvumas per 30d.
    3.53%
Kaip pazymeti kuris mygtukas buvo paspaustas?
« : 2011-01-23 20:58:21 »
Sveiki. Nusprendziau sukurti savo narsyklini zaidima ir pradejau mokytis php bei html. Kolkas viskas einas neblogai kuriu primityvia versija pamokeliu vis pasiskaitau ir zengiu i prieky. Priejau prie kovos sistemos. Dabar noriu padaryti kad galetu rinktis kuri monstra pult. Sukuriau kelias formas kaip pavyzdi.

    <p>Choose which monster you want to hunt:</p>
    Rat<br />
        <form action='main.php?p=hunt' method='post'>     
            <input type='submit' name='rat' value='Attack' /><br /><br />
    Slime<br />
        <form action='main.php?p=hunt' method='post'>           
            <input type='submit' name='slime' value='Attack' />
  </form>

Pagal sias formas vartotojai gales rinktis kuri monstra pulti. Ir noreciau suzinoti koki koda man naudot kad butu galima atskirt kuris submit mygtukas buvo paspaustas ar "rat" ar "slime". Jei kas galit pasakykit ir pasistenkit paaiskint kaip naujokui. Bei noreciau patarimu kur vyktu kova (ar tam paciam puslapy kur formos yra ar permestu i kita puslapi kuris butu nustatomas pagal rand() kovos id ar kaip kitaip).

Dekui :)

Lukas Liesis

  • Administratorius
  • Super HEROJUS
  • Žinutės: 3796
  • Karma: +110/-9

  • Aktyvumas per 30d.
    100%
Re: Kaip pazymeti kuris mygtukas buvo paspaustas?
« Atsakyti #1 : 2011-01-23 22:32:15 »
2 skirtingas formas aprasyk ir bus :) ten truksta </form> kiek paziurejau is pirmo zvilgsnio :)
Jūsų draugas, kolega ir puslapio administratorius,

Lukas.
Manualai.lt Facebooke
Jums patinka manualai.lt projektas?
serveriai.lt 40% nuolaida!

PhpNewbie

  • Forumo naujokas
  • Žinutės: 3
  • Karma: +0/-0

  • Aktyvumas per 30d.
    3.53%
Re: Kaip pazymeti kuris mygtukas buvo paspaustas?
« Atsakyti #2 : 2011-01-23 22:51:04 »
Hmm.  Jei nezinau ar teisingai supratau aprasyk. Kiek suprantu tai jei tikrinu tai du skirtingus IF daryt abiem formom, taip? Jei taip tai noriu paklaust ar nera kito budo? Nes ten butu daug formu ir atrodo perdaug vargo naudot tiek daug vienodo kodo :S

O del trukstamo </form> pastebejimo, dekui :)

Haris

  • HEROJUS
  • Žinutės: 623
  • Karma: +29/-0
  • jooo...

  • Aktyvumas per 30d.
    44.71%
Re: Kaip pazymeti kuris mygtukas buvo paspaustas?
« Atsakyti #3 : 2011-01-23 23:31:33 »
Dėk vat tokį dalyką:
<?php
if($_GET['id'] == "fight"){
/* Tikriname koks mygtukas buvo paspaustas */
/* Tirkinimas vyksta pagal mygtuko name atributa */
if(isset($_REQUEST['ziurke'])){
/* Jeigu buvo paspaustas mygtukas su name atribute reiksme 'ziurke' tada vykdom zemiau esanti koda */
echo "Jus ką tik sumušėte Žiurkę";
}elseif(isset(
$_REQUEST['ziogas'])){
echo 
"Jus ką tik sumušėte Žiogą";
}elseif(isset(
$_REQUEST['php'])){
echo 
"Jus ką tik sumušėte PHP";
}else{
/* Jeigu mygtuko vardas nesutampa neisuvienu is esanciu salygoje ,tada rodome klaidos pranesima */
echo"Blogas puolamas objektas";
}
}elseif(
$_GET['id'] == ""){
?>

Pasirinkite ką šiandiena sumušite:
<!-- Sukuriama forma kuri siuncia duomenis i ta pati faila -->
<form action="failas.php?id=fight" method="post">
<!-- Sukuriami mygtukai kuriems priskiariami vardai -->
<input type="submit" name="ziurke" value="Ziurke" />
<input type="submit" name="ziogas" value="Ziogas" />
<input type="submit" name="php" value="PHP" />
</form>
<?php }?>

Vo čia tokį paprastą ekspromtu sugalvojau, tikiuosi pravers :)
Haris feisbuke!

Lukas Liesis

  • Administratorius
  • Super HEROJUS
  • Žinutės: 3796
  • Karma: +110/-9

  • Aktyvumas per 30d.
    100%
Re: Kaip pazymeti kuris mygtukas buvo paspaustas?
« Atsakyti #4 : 2011-01-24 01:34:56 »
arba viska per ajaxa siuntineti ir visa turini keitineti su js, stipriai pageretu UI kokybe, manau. tik tam reikalui tai neturetu kilt klausimu apie tokius dalykus, kaip dabar dar klausi ;]
Jūsų draugas, kolega ir puslapio administratorius,

Lukas.
Manualai.lt Facebooke
Jums patinka manualai.lt projektas?
serveriai.lt 40% nuolaida!

ganjabest

  • HEROJUS
  • Žinutės: 590
  • Karma: +26/-0
  • Povilas Stankevičius

  • Aktyvumas per 30d.
    100%
Re: Kaip pazymeti kuris mygtukas buvo paspaustas?
« Atsakyti #5 : 2011-01-24 14:51:51 »
as tai nedaryciau ciklo
if( ta) tai ziurke elseif( ta ) tai tadadrakonas.. nes jeigu noresi daugiau parasyti auku tai toki cikla parasyti gali uztrukti . Geriau parasyt tarkim

<?php
if(numusei)
{
echo 
'Sveikinam, tu katik uzpuolei'.$auka
//Ir toliau vykdai skaiciavimus
}
else
{
echo 
'gavai malku';
}

?>

Kur darai skaiciavimus (nuimi gyvybes ir t.t.) tai taip pat tikrini skaicius pagal puolejo ir gynejo vardus, rusis ir t.t.
Visi žmonės kaip žmonės - tik aš vienas kaip dievas!

PhpNewbie

  • Forumo naujokas
  • Žinutės: 3
  • Karma: +0/-0

  • Aktyvumas per 30d.
    3.53%
Re: Kaip pazymeti kuris mygtukas buvo paspaustas?
« Atsakyti #6 : 2011-01-24 20:59:15 »
Haris, dekui, bet as visur norejau palikt ta pati value(attack). Ir jau zinau kaip daryti.

Ganjabest, turbut del mano prasto gebejimo php kalba isreikst lietuviskai neisejo suprast, bet as ir sakiau kad nenoriu naudot ciklo  :-[

O su kovos sistema manau pats susitvarkysiu :)

Dekui uz pagalba  ^^