login  Naam:   Wachtwoord: 
Registreer je!
 Forum

php if NA js code

Offline daanlaan - 28/03/2009 11:42 (laatste wijziging 28/03/2009 11:47)
Avatar van daanlaanMySQL interesse dit is mijn code
  1. <div style="color:#6B8D04; width:700px; border-right: 3px dashed #FFF; margin:20px 0px 0px 20px; float:left; display:none;" align="left" id="car_race">
  2. <div id="gamecar">computer<br /><br /><img src="images/gamecar.png"/></div><br />
  3. <div id="setstart" style="font-size:22px; color:#FFF;"></div>
  4. <div id="gamerscar"><?=$_SESSION['gebruikersnaam']?><br /><br /><img src="images/gamerscar.png" id="gamerscar" /></div>
  5. </div>
  6. <div id="inhoud">
  7. <form method="post"><input type="text" id="uit" name="uit"></form>

  1. if(isset($_POST['drift']))
  2. {
  3. if($last_uit > $now)
  4. {
  5. echo "<script>alert('Je moet niet te veel uitdagingen aangaan <br> in zo een korte tijd<br>wacht minstens 10 minuten');</script>";
  6. }else
  7. {
  8. $geg = mysql_fetch_array(mysql_query("SELECT reward, pclvl, respect, xp FROM games WHERE type = '".$_GET['type']."' AND plaats = '".$plaats."' AND soort = 'drift' "));
  9. ?>


dit is het javascript gedeelte dat de 2 auto's laat bewegen naar rechts, als je hebt gewonnen komt er in de hidden input 1 te staan anders "mis"
  1. document.getElementById('car_race').style.display = "block";
  2. var m_gamer=0;
  3. var m_game=0;
  4. var aftel = 6;
  5. aftellen();
  6. function aftellen()
  7. {
  8. aftel--;
  9. if(aftel == 0){aftel = "GO!";}
  10. document.getElementById('setstart').innerHTML = aftel;
  11. if(aftel != "GO!")
  12. {
  13. setTimeout("aftellen()",1000);
  14. }else{startrace();}
  15. }
  16. function startrace()
  17. {
  18. if(m_game>=590)
  19. {
  20. alert("Nog veel oefenen en dan kan je misschien eens terugkomen...");
  21. document.getElementById('uit').value = "mis";
  22. }
  23. else if(m_gamer>=590)
  24. {
  25. alert("Wow je hebt nog veel getraind zo te zien...");
  26. document.getElementById('uit').value = "1";
  27. }
  28. else
  29. {
  30. m_game = m_game+Math.random()*(0.5*<?=$geg['pclvl']?>);
  31. m_gamer = m_gamer+Math.random()*(0.5*<?=$dlvl?>);
  32. document.getElementById('gamecar').style.marginLeft = m_game+"px";
  33. document.getElementById('gamerscar').style.marginLeft = m_gamer+"px";
  34. setTimeout("startrace()",1);
  35. }
  36. }


nu moet php pas gaan kijken wat er in die hidden input staat...
  1. <?php
  2. if($_POST['uit'] == 1)
  3. {
  4. mysql_query("UPDATE board SET geld = (geld + '".$geg['reward']."'), last_uit = $now+(10*60), respect = (respect+'".$geg['respect']."'), aantal_uit = (aantal_uit+1),
  5. xp = (xp+".$geg['xp'].") WHERE gebruikers_id = '".$_SESSION['gebruiker']."' ");
  6. echo "<script>alert('Respect makker, ik sta versteld! <br> Hier, dit verdien je wel! <br> <b><font color=\'#FFCC00\'>je verdient € ".$geg['reward'].",
  7. ".$geg['respect']." respect en ".$geg['xp']." xp!</font></b> ');</script>";
  8. }
  9. elseif($_POST['uit'] == "mis")
  10. {
  11. mysql_query("UPDATE board SET last_uit = $now+(10*60), aantal_uit = (aantal_uit+1) WHERE gebruikers_id = '".$_SESSION['gebruiker']."' ");
  12. echo"<script>alert('qsdyfvqpsidfvipsfv');</script>";
  13. }
  14. }
  15. mysql_query("UPDATE autos SET onderhoud = onderhoud - '".$minonderhoud."' WHERE gebruikers_id = '".$_SESSION['gebruiker']."' AND auto = '".$racecarfull."' ");
  16. }


als je het beetj begrijpt zie je dat het js gedeelte 2 img's laat bewegen naar rechts, de img die eerste rechts is (op 590px)
heeft gewonnen, als dit gebeurt is moet die if - elseif worden gecheckt maar hij gaat dit al meteen in het begin doen en dan staat er nog niets in die hiden text input...
hoe zou ik dit kunnen doen?

5 antwoorden

Gesponsorde links
Offline MiST - 28/03/2009 11:46
Avatar van MiST Lid PHP is serversided en JS is clientsided. PHP wordt dus steeds uitgevoerd voor javascript nog maar kan starten. Als je dit wil doen, moet je Javascript alles laten afhandelen me dunkt 
Offline daanlaan - 28/03/2009 11:48
Avatar van daanlaan MySQL interesse
MiST schreef:
PHP is serversided en JS is clientsided. PHP wordt dus steeds uitgevoerd voor javascript nog maar kan starten. Als je dit wil doen, moet je Javascript alles laten afhandelen me dunkt 

hmm ja ik weet het, maar er moet toch een manier zijn hoe ik dit anders kan oplossen dan?  
Offline Wim - 28/03/2009 11:49
Avatar van Wim Crew algemeen PHP is server-side en wordt dus op de server uitgevoerd. De output van je script zal dan -samen met de html code in je script- verzonden worden naar de client (je bezoeker in dit geval).
Javascript is client-side en zal dus in de webbrowser van je bezoeker uitgevoerd worden.

Maw, eerst wordt php uitgevoerd, daarna javascript.

Dit probleem valt echter wel op te lossen d.m.v. AJAX. Dat is een techniek waarbij je PHP en Javascript combineert.
Offline daanlaan - 28/03/2009 11:53
Avatar van daanlaan MySQL interesse ja ajax, ik heb nog nooit ajax gebruikt, om dit stukje om te zetten in ajax is dat ingewikkeld? anders zoek ik het wel uit hoe het werkt in ajax
Offline Joost - 28/03/2009 16:55
Avatar van Joost PHP expert
daanlaan schreef:
ja ajax, ik heb nog nooit ajax gebruikt, om dit stukje om te zetten in ajax is dat ingewikkeld? anders zoek ik het wel uit hoe het werkt in ajax
Ook al zou het lastig zijn zul je er toch aan moeten geloven  
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.197s