Ankündigung

Einklappen
Keine Ankündigung bisher.

Fehler finden

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • spacedone
    hat ein Thema erstellt Fehler finden.

    Fehler finden

    , Eigentlich ist es mir schon peinlich, aber ich habe wohl keine andere Wahl, als zu fragen, warum funktioniert dieser Timeout nicht:

    <html>
    <head>
    <?php
    // Connect etc.
    $ausgabe = mysql_fetch_assoc($SELECT) OR die(mysql_error());
    ?>
    <script type=text/javascript>
    function erhohen()
    {
    <?php
    $gold = $ausgabe['gold'] + 10;
    $holz = $ausgabe['holz'] + 10;
    $metall = $ausgabe['metall'] + 10;
    ?>

    document.formular.gold.value='<?php echo $ausgabe['gold'] ?>' + ' Gold';
    document.formular.metall.value='<?php echo $ausgabe['metall'] ?>' + ' Metall';
    document.formular.holz.value='<?php echo $ausgabe['holz'] ?>' + ' Holz';

    <?php
    mysql_query("UPDATE Mittelalter SET gold = '$gold', metall = '$metall', holz = '$holz'") OR die (mysql_error());
    ?>

    window.setTimeout("erhohen();" ,1000);
    }

    </script>
    </head>
    <BODY onLoad="erhohen()">
    <form name=formular>
    <input name=gold readonly><br>
    <input name=holz readonly><br>
    <input name=metall readonly><br>
    </form>
    </body>
    </html>
    Und dann noch eine Frage, wenn cih gold etc. erhöhe und ausgebe ist das Immer versetzt, also wenn gold schon 20 hat gibt das Formular noch 10 aus .. Wie kann cih das ändern

    DANKE

  • h3ir
    antwortet
    Versuchs mit Ajax... ich hab da eine Kleinigkeit gefunden... moment... *in den Favoriten such*

    http://www.xajaxproject.org

    Bitte ... ist für ein PHP Anfänger etwas zu hoch, solltest du mehr Erfahrung haben, ist es kein Problem.

    Einen Kommentar schreiben:


  • Nendrew
    antwortet
    Zitat von spacedone Beitrag anzeigen
    PHP-Code:
     function erhohen()
        {
            <?php    
                $gold 
    $ausgabe['gold'] + 10;
                
    $holz $ausgabe['holz'] + 10;
                
    $metall $ausgabe['metall'] + 10;
            
    ?>

            document.formular.gold.value='<?php echo $ausgabe['gold'?>' + ' Gold'; 
            document.formular.metall.value='<?php echo $ausgabe['metall'?>' + ' Metall'; 
            document.formular.holz.value='<?php echo $ausgabe['holz'?>' + ' Holz';

            <?php
                mysql_query
    ("UPDATE Mittelalter SET gold = '$gold', metall = '$metall', holz = '$holz'") OR die (mysql_error()); 
            
    ?>

            window.setTimeout("erhohen();" ,1000);
        }
    Das wird so nicht funktionieren, da dein php code nur ein einziges mal ausgeführt wird. Du kannst keinen php code ein weiteres mal interpretieren lassen, indem du eine javascript funktion aufrufst...
    Javascript läuft auf dem client ab und php auf dem Server. Das funktioniert so nicht.

    Edit:
    Außerdem könnte sich dein Feldinhalt nicht einmal verändern, falls es so funktionieren würde, da du immer den gleichen wert reinschreiben würdest, da du dein $ausgabe array nie veränderst und dieses jedoch zum befüllen der Felder verwendest.

    Einen Kommentar schreiben:


  • spacedone
    antwortet
    Soll damit die Anzeioge immer auf dem richtigen Stand sein???

    Ansonsten ist der PHP Code nämlich völlig Ok !!!

    Einen Kommentar schreiben:


  • XraYSoLo
    antwortet
    versuchsmal so:

    PHP-Code:
    <?php
    mysql_query
    ("UPDATE Mittelalter SET gold = '".$gold."', metall = '".$metall."', holz = '".$holz."' ") OR die (mysql_error()); 
    ?>
    Nils aka XraYSoLo

    Einen Kommentar schreiben:

Lädt...
X