Neuigkeiten
  • Die modified eCommerce Shopsoftware ist kostenlos, aber nicht umsonst.
    Spenden
  • Damit wir die modified eCommerce Shopsoftware auch zukünftig kostenlos anbieten können:
    Spenden
  • Thema: reload des Captcha-Bildes erzwingen (ohne page refresh!)

    hhtech

    • Frisch an Board
    • Beiträge: 71
    Hallo Leute,

    Auszug aus der login.php:

    Code: PHP  [Auswählen]
    // captcha
    if ($_SESSION['customers_login_tries'] >= LOGIN_NUM) {
      echo "<script>alert('captcha img about to be assigned');</script>";
      $smarty->assign('VVIMG', '<img src="'.xtc_href_link(FILENAME_DISPLAY_VVCODES, '', 'SSL').'" alt="Captcha" />');
      $smarty->assign('INPUT_CODE', xtc_draw_input_field('vvcode', '', 'size="'.MODULE_CAPTCHA_CODE_LENGTH.'" maxlength="'.MODULE_CAPTCHA_CODE_LENGTH.'"', 'text', false));
    }

    {$VVIMG} befindet sich dann in login.html. Meine login.php (und damit meine login.html) wird allerdings per AJAX aufgerufen, wobei nicht die ganze Seite neu geladen wird, sondern nur die Login-Box, und obwohl sich der vvcode jedesmal erneuert, bleibt das Bild gleich. Wenn ich dann in einem neuen Tab www.mypage.com/display_vvcodes.php aufrufe und dann im andern Tab beim Login (wo noch das falsche Bild angezeigt wird) den Code vom richtigen Bild eingebe, kann ich mich ohne Probleme einloggen.

    Hab mir sowohl die login.php und die display_vvcodes.php nun schon länger angeguckt und weiß nicht, wie ich die display_vvcodes.php zwingen kann, ein neues Bild auszuspucken, jedesmal wenn in der login.php oben erwähnter Code ausgeführt wird, was jedesmal passiert, wenn ich falsche oder gar keine Login-Daten eingebe (das Alert-Popup kommt jedesmal).

    Hat jemand eine Idee?  :-(

    Das wäre so toll! :)

    Liebe Grüße
    Nadine

    Linkback: https://www.modified-shop.org/forum/index.php?topic=37665.0

    h-h-h

    • modified Team
    • Beiträge: 4.562
    Re: reload des Captcha-Bildes erzwingen (ohne page refresh!)
    Antwort #1 am: 24. August 2017, 13:48:22
    Hallo Nadine,
    teste mal folgendes:

    Code: PHP  [Auswählen]
      $smarty->assign('VVIMG', '<img src="'.xtc_href_link(FILENAME_DISPLAY_VVCODES, '', 'SSL').'" alt="Captcha" />');

    ersetzen mit:

    Code: PHP  [Auswählen]
      $smarty->assign('VVIMG', '<img src="'.xtc_href_link(FILENAME_DISPLAY_VVCODES, '', 'SSL').'?t='.time().'" alt="Captcha" />');

    freundlichen Gruß,
    h-h-h

    hhtech

    • Frisch an Board
    • Beiträge: 71
    Re: reload des Captcha-Bildes erzwingen (ohne page refresh!)
    Antwort #2 am: 24. August 2017, 14:31:28
    Hallo h-h-h. :-)

    Vielen Dank, es funktioniert! Da hast du mir eine Menge Zeit gespart, danke! :-)

    Ich hatte vorhin diesen Link angeguckt

    https://stackoverflow.com/questions/1077041/refresh-image-with-a-new-one-at-the-same-url

    und dann versucht, nur ein ? anzuhängen, was nicht ging, und dann ein ?=rand(0,3000), aber das hat auch nicht funktioniert, und jetzt weiß ich auch warum, weil ich nämlich stattdessen '?='.rand(1,3000) hätte tippen sollen ... hab mal wieder nicht weit genug gedacht. :-/

    Wenn ich das jetzt also richtig verstehe, kann man tatsächlich einfach irgendwas anhängen, um den Browser "auszutricksen", richtig? Ich hätte das ohne dich wahrscheinlich nicht mehr probiert. Vielen vielen Dank nochmal!!! :-)

    Liebe Grüße,
    Nadine
    3 Antworten
    3171 Aufrufe
    03. Mai 2010, 16:22:06 von vampir26
    0 Antworten
    2148 Aufrufe
    25. Juli 2011, 10:07:18 von Jürgen