Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    Aggiornare captcha con AJAX

    Ciao a tutti,
    forse il titolo non centra bene il problema... La mia situazione è la seguente:

    ho un captcha creato con il seguente codice e che funziona perfettamente:
    Codice PHP:
    [img]./captcha.php[/img
    In captcha.php, tralasciando i dettagli di creazione di $im, ho questo:

    Codice PHP:
    header('Content-Type: image/jpeg');
    imagejpeg($im);
    imagedestroy($im);
    session_start();
    $_SESSION["captcha"] = $pass
    Ovviamente, richiamando captcha.php tramite AJAX, l'immagine non viene visualizzata ma viene stampato il "codice" di quest'ultima (suppongo perché non sia possibile cambiare al volo l'header in "Content-Type: image/jpeg").

    Cosa mi suggerite di fare?

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Ma se richiami la pagina tuosito.it/captcha.php ti stampa l'immagine?
    Se possibile posta il link alla pagina pubblica.
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    L'immagine viene stampata correttamente al caricamento della pagina perché il file captcha.php è richiamato nell'head.

    Il problema è l'aggiornamento che avviene quando già la pagina è stata completamente caricata.
    LINK PUBBLICO

  4. #4
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Prova cosi:
    nella pagina ajax modifichi questa riga cosi:
    document.getElementById('td_captcha').src = risposta;
    e nel form
    <td class="aligned_right">[img]../captcha.php[/img]</td>
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  5. #5
    Anzitutto grazie per la pazienza

    Ho provato la modifica che mi hai detto ma continua a non funzionare.
    Ho anche provato document.getElementById('img_captcha').src = risposta; (con img_captcha id associato all'immagine) ma senza successo

  6. #6
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Rileggendo meglio, o passi la pagina al src dell'immagine con una funzione dedica oppure gli passi il response della pagina caricata via ajax
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  7. #7
    Riflettendoci non credo sia possibile senza salvare l'immagine perché i tipi di response di AJAX non prevedono dati binari... o sbaglio?

  8. #8
    Risolto in maniera alquanto strana.

    Dopo la risposta del server ho scritto il seguente codice:
    Codice PHP:
    document.getElementById('img_captcha').src "../captcha.php?id="+Math.random(); 
    In pratica, assegnando un id qualsiasi alla pagine php, funziona

    Grazie comunque

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.