kostenloser Webspace werbefrei: lima-city


Wartezeit( evtl: mit JS)

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    gaestefun

    Kostenloser Webspace von gaestefun

    gaestefun hat kostenlosen Webspace.

    Hallo, ich habe im Moment eine Frage:
    Ich würde gerne eine Bestimmte Aktion eine bestimmte Zeit dauern lassen.zB 30 Sekunden, nur wie mache ich das?
    Wie unterdrücke ich das man das nicht einfach umgehen kann, zB wenn man JS Timer benutzt.
    Ich habe bereits einmal mit Cronjobs versucht, aber ein Cronjob jede Sekunde durchlaufen zu lassen(Da es zB auch Aktionen mit 2 Sekunden oder 28 bei mir gibt) ist nicht gerade recoursensparend.
    Am besten wäre es wenn in dieser Zeit ein JS timer durchläuft, weiß jemand wie man das Realisiert?
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. JS Timer lassen sich umgehen. So, wie sich alles Javascript manipulieren lässt.

    Eine Lösung kann man dir aber nur dann vorschlagen, wenn du uns erzählst, was genau du vor hast.
  4. Speichere doch das Timestamp, an dem die Aktion ausgeführt werden darf. Sendet man die Anfrage früher an den Server, macht dieser einfach gar nichts.
  5. Du speicherst in Script A den aktuellen Timestamp in einer Session:

    <?php
    
    /* ... */
    
    $_SESSION['time_start'] = time();
    
    /* ... */
    
    ?>


    Wird nun Script B aufgerufen, fragt Script B diesen Timestamp nun ab und überprüft, ob er auch mindestens 30 Sekunden kleiner ist, als der aktuelle Timestamp:

    <?php
    
    /* ... */
    
    if ( $_SESSION['time_start'] + 30 < time() )
    {
      /* Nutzer hat 30 Sekunden gewartet und "darf" das Script aufrufen */
      echo 'Sie haben erfolgreich 30 Sekunden gewartet!';
    }
    else
    {
      /* Nutzer hat die Sperre umgangen */
      echo 'Sie haben nicht 30 Sekunden gewartet! Bitte gehen Sie zurück!';
    }
  6. Autor dieses Themas

    gaestefun

    Kostenloser Webspace von gaestefun

    gaestefun hat kostenlosen Webspace.

    Ein weiteres Problem ist: Wie verbinde ich das ganze mit js, da ich ja nicht einfach ein beiladen der Seite nach den 30 Sekunden haben will, sondern am besten was mit Ajax.
  7. Gehe zurück auf "start", gehe nicht über Los, ziehe keine 4000€ ein, bevor Du nicht Fabo geantwortet hast, der sagte:

    Eine Lösung kann man dir aber nur dann vorschlagen, wenn du uns erzählst, was genau du vor hast.


    FF

    Beitrag zuletzt geändert: 20.4.2011 2:37:48 von fatfreddy
  8. Autor dieses Themas

    gaestefun

    Kostenloser Webspace von gaestefun

    gaestefun hat kostenlosen Webspace.

    Ich brauche fürmeine Webseite Eibe Art Stopp, der verhindern soll, dass mein Ajax Script einfach nach Der Eingabe tausendmal ausgeführt wird, indem der Nutzer einfach copy&past macht, deshalb will ich es so machen, dass mein Ajax Script die php Datei erst nach dem Ablauf des Timers lädt, aber auch der Fall, dass der user einfach nur die php Seite ohne Ajax aufruft soll ausgeschlossen werden.Zudem sollte es in der Wartezeit ein Ladebalken oä geben.
    Zudem handelt es sich hierbei, bei dem php Script,um eine funktion, und die Warteschleife soll erst kommen, wenn die Funktion vollständig ist, also wenn kein false zurückkommt.

    Beitrag zuletzt geändert: 20.4.2011 12:01:10 von gaestefun
  9. Per Ausgabe von PHP teilst du JS mit, nach welcher Zeit versucht werden soll, einen Antrag zur Erledigung der Aufgabe an den Server zu stellen. Der Server prüft dann, ob alle Bedingungen, die zur Akzeptanz des Antrags und somit zur Ausführung der Aufgabe, gegeben sind, und führt erst dann, wenn alle Bedingungen gegeben sind, die Aufgabe aus. Trifft eine Bedingung nicht zu, kann dem JS-Script mitgeteilt werden, welche Bedingung fehlt. Das kann dann auch an den Benutzer weitergegeben werden.

    Du darfst dem JS auf keinen Fall die Möglichkeit geben, dem Server etwas zu befehlen. JS darf nur Anträge stellen und mit dem Benutzer kommunizieren können.

    Edit: Rechtschreibfehler gefunden...

    Beitrag zuletzt geändert: 20.4.2011 20:00:40 von drafed-map
  10. Autor dieses Themas

    gaestefun

    Kostenloser Webspace von gaestefun

    gaestefun hat kostenlosen Webspace.

    Ich weiss nicht so ganz was gerade PHP macht, abe rimmer wenn ich diese Abfrage mache:
    if($_COOKIE['lessontime'] > time()){
    //Do sth.
    }else{
    //debug 2
    }

    kommt immer Debug 2, wenn ich jetzt das ganze mal mit:
    echo'DEBUG: '.$_COOKIE['lessontime'].' > '.time();

    Ausgeben lasse kommt:
    DEBUG: 1303591329 > 1303588988

    Was ist der Fehler?
  11. Na, warte doch mal etwas mehr, als 39 Minuten und du wirst sehen, dass dann doch das erste gezeigt wird. Aufgrund wundersamer Umstände zeigen sich Dinge, die sich nach einer gewissen Zeit ändern sollen, nämlich immer erst dann, wenn diese gewisse Zeit verstrichen ist :wink:.
  12. Autor dieses Themas

    gaestefun

    Kostenloser Webspace von gaestefun

    gaestefun hat kostenlosen Webspace.

    Nach dieser Zeit wollte ich die Cookies wieder mit dem Folgenden Code löschen:
    setcookie("lessontime","",time()-1);
    	 setcookie("lesson","",time()-1);
    	 setcookie("lesson_maker",time()-1);

    Aber er meldet mir im Script:
    Warning: Cannot modify header information - headers already sent by (output started at /var/www/homeserver/html/code/schnipsel/style/header.php:8) in /var/www/homeserver/html/code/schnipsel/engine/engine.php on line 157
    
    Warning: Cannot modify header information - headers already sent by (output started at /var/www/homeserver/html/code/schnipsel/style/header.php:8) in /var/www/homeserver/html/code/schnipsel/engine/engine.php on line 158
    
    Warning: Cannot modify header information - headers already sent by (output started at /var/www/homeserver/html/code/schnipselg/style/header.php:8) in /var/www/homeserver/html/code/schnipsel/engine/engine.php on line 159
  13. Grundkenntnisse in der englischen Sprache, sowie in der Funktionsweise der verwendeten Sprache und Umgebung sollten vorhanden sein, wenn man mit der Sprache produktiv arbeiten will. Hier hätte aber auch die Fähigkeit, eine beliebige Suchmaschine zu bedienen, genügt.

    Wenn du selbst das nicht entziffern kannst, solltest du wirklich keinen Homeserver betreiben. Das ist ja gemeingefährlich. Man lässt auch niemanden Auto fahren, der nichtmal weiß, was zu tun ist, wenn sich der Zündschlüssel nicht im Türschloss und danach im Zündschloss befindet, sondern in der Hosentasche.

    Bevor du die Cookies setzt, darf nichts ausgegeben werden. Du versuchst, in den Zeilen 157, 158 und 159 Cookies zu setzten, gibst aber schon in Zeile 8 etwas aus.

    Beitrag zuletzt geändert: 26.4.2011 18:34:59 von drafed-map
  14. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!