• Cper's


    Ik gebruik de countdown van banditi.


    Als ik dit doe;


    PHP
    echo("<table><tr><td>Je moet nog <span id=\"bullets\"></span> wachten totdat je nieuwe kogels mag kopen.</td></tr></table><script language=\"javascript\">countdown(\"" .$information['bulletwaiting'] - time(). "\", \"bullets\", \"index.php?a=mod_localbulletfactory\");</script>");


    Dat werkt ie niet.
    Als ik het zo doe wel;


    PHP
    <table><tr><td>Je moet nog <span id="bullets"></span> wachten totdat je nieuwe kogels mag kopen.</td></tr></table><script language="javascript">countdown("<?php echo($information['bulletwaiting'] - time()); ?>", "bullets", "index.php?a=mod_localbulletfactory");</script>


    Ik wil het in een echo houden.


    Wat doe ik verkeerd.


    Gr
    Jackie

    Bezig met een zelf gemaakte source, geschreven vanaf 0 natuurlijk!

  • Guest, wil je besparen op je domeinnamen? (ad)
  • Dat maakt niet uit, komt op hetzelfde neer.


    Want zonder de () gebruik je de echo zo;


    PHP
    echo "Welkom " .$name. " bij ...";


    En een echo met ()


    PHP
    echo("Welkom " .$name. " bij ...");


    Iemand?

    Bezig met een zelf gemaakte source, geschreven vanaf 0 natuurlijk!

  • Doe dit:


    PHP
    echo '<table><tr><td>Je moet nog <span id="bullets"></span> wachten totdat je nieuwe kogels mag kopen.</td></tr></table><script language="javascript">countdown("'.$information['bulletwaiting'] - time(). '", "bullets", "index.php?a=mod_localbulletfactory");</script>");
  • PHP
    echo "<script language=\"javascript\">
    		countdown('". $information['bulletwaiting'] - time() ."', 'bullets', 'index.php?a=mod_localbulletfactory');
    	  </script>";
    	 
    echo '<table>
    		<tr>
    			<td>Je moet nog <span id="bullets"></span> wachten totdat je nieuwe kogels mag kopen.</td>
    		</tr>
    	  </table>';


    Probeer hem eens op deze manier ;)

  • Heb ik ook al aan zitten denken,


    Wil eigenlijk voor alles "" gebruiken inplaaats ''


    Maar als het niet anders kan zou het wel moeten.


    Laat wel weten of het gelukt is!

    Bezig met een zelf gemaakte source, geschreven vanaf 0 natuurlijk!

  • Citaat van Robin

    Doe dit:


    PHP
    echo '<table><tr><td>Je moet nog <span id="bullets"></span> wachten totdat je nieuwe kogels mag kopen.</td></tr></table><script language="javascript">countdown("'.$information['bulletwaiting'] - time(). '", "bullets", "index.php?a=mod_localbulletfactory");</script>");


    Krijg je een error ;)

  • Hmm


    PHP
    echo("<script language=\"javascript\">countdown('" .$information['bulletwaiting'] - time(). "', 'bullets', 'index.php?a=mod_localbulletfactory');</script>");


    Zelfs zo doet ie het niet.

    Bezig met een zelf gemaakte source, geschreven vanaf 0 natuurlijk!

  • Krijg je een error of iets ?


    Probeer anders alles buiten je PHP te houden, dus gewoon html versie.


    [offtopic]
    Bovenstaande werkt wel zei je...
    [/offtopic]


    Haal je <script></script> eens buiten je PHP en de rest erin, wellicht werkt dit ;)


    PHP
    ?>
    <script language="javascript">
    	countdown('<?=$information['bulletwaiting'] - time()?>', 'bullets', 'index.php?a=mod_localbulletfactory');
    </script>
    <?PHP	 
    echo '<table>
    		<tr>
    			<td>Je moet nog <span id="bullets"></span> wachten totdat je nieuwe kogels mag kopen.</td>
    		</tr>
    	  </table>';


    Zo bedoel ik ;)

  • Haha, dit is een echte klassieker!


    PHP leest (net zoals wij) van links naar rechts. Dan krijg je het volgende, als je de code ontleed:


    PHP
    Stap 1, plak de eerste string aan de variabele vast:
    "<table><tr><td>Je moet nog <span id=\"bullets\"></span> wachten totdat je nieuwe kogels mag kopen.</td></tr></table><script language=\"javascript\">countdown(\"" .$information['bulletwaiting']
    
    
    Stap 2, trek de tijd af van de ontstaande string uit stap 1 (hier gaat het dus fout):
    - time()
    
    
    Stap 3, plak het laatste deel vast aan het resultaat van stap 3:
    . "\", \"bullets\", \"index.php?a=mod_localbulletfactory\");</script>"


    Het resultaat is dus eigenlijk:


    (een string) - (een integer) = 0 - (de integer)


    (de ontstaande integer) . (een string) = (een string)



    Erg leuke bug als je het mij vraagt, maar de oplossing is simpel: Zet de berekening tussen haakjes:

    PHP
    echo("<table><tr><td>Je moet nog <span id=\"bullets\"></span> wachten totdat je nieuwe kogels mag kopen.</td></tr></table><script language=\"javascript\">countdown(\"" . ($information['bulletwaiting'] - time()) . "\", \"bullets\", \"index.php?a=mod_localbulletfactory\");</script>");


    Mijn tip is dan ook: Zet berekeningen die je op z'n plek uitvoert, altijd tussen haakjes.

  • Hm blijf het raar vinden?


    Ik hou;


    PHP
    <table><tr><td>Je moet nog <span id="bullets"></span> wachten totdat je nieuwe kogels mag kopen.</td></tr></table><script language="javascript">countdown("<?php echo($information['bulletwaiting'] - time()); ?>", "bullets", "index.php?a=mod_localbulletfactory");</script>


    Dit wel aan!


    Als iemand toch het antwoord op mijn vraag weet


    Zo zien mijn echo's eruit, en wil die niet veranderen ;)


    PHP
    echo("welkom " .$name. " op ...");

    Bezig met een zelf gemaakte source, geschreven vanaf 0 natuurlijk!

  • @Killingdevil


    Dankje voor de oplossing had ik niet aan gedacht om dat te doen, zal het onthouden :D


    Oplossing is gevonden door Killingdevil, topic mag dicht
    Bedankt voor de reacties :D


    :slotje:

    Bezig met een zelf gemaakte source, geschreven vanaf 0 natuurlijk!

Participate now!

Heb je nog geen account? Registreer je nu en word deel van onze community!