Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12

Discussione: Problema con form!!!

  1. #1
    Utente di HTML.it L'avatar di snik
    Registrato dal
    Sep 2006
    Messaggi
    256

    Problema con form!!!

    Salve a tutti,
    ho notato che nel form in flash quando compilo tutti i campi e premo su invia mi esce l'alert: Errore: Il server non ha risposto, riprovare più tardi a cosa può essere dovuto??? stò impazzendo cercando di capire come sistemare questo problema, anche perchè prima funzionava!!
    Snik

  2. #2
    Utente di HTML.it L'avatar di snik
    Registrato dal
    Sep 2006
    Messaggi
    256
    nessuno mi può aiutare???
    Snik

  3. #3
    Utente bannato
    Registrato dal
    Jan 2009
    Messaggi
    713

    ciao... se non metti il codice nessuno ti può aiutare

    neanche il Padre Eterno....eh eh

    scrivi il codice che hai usato per l'invio
    con tutte le informazioni relative alle variabili
    compreso il nome istanza o nome var
    per ogni casella che hai usato

    ed infine il codice della pagina ricevente

    affinchè o io o altri possano aiutarti

    au revoir
    ____________
    by max

  4. #4
    Utente di HTML.it L'avatar di snik
    Registrato dal
    Sep 2006
    Messaggi
    256
    Questo è nel form in flash:

    // porto a zero la visibilità degli avvisi
    errore_invio._alpha = 0;
    errore_server._alpha = 0;
    errore_mail._alpha = 0;
    notifica_inviato._alpha = 0;
    // creo una funzione per il fadeIn/fadeOut degli avvisi
    MovieClip.prototype.fadeAlpha = function(to:Number) {
    var t:Object = new mx.transitions.Tween(this, "_alpha", mx.transitions.easing.None.easeNone, this._alpha, to, 1, true);
    t.path = this;
    t.onMotionFinished = function() {
    this.path.onFadeDone();
    };
    };
    // creo una funzione che verifica che il campo richiamato sia stato riempito e non contenga spazi vuoti
    var validate = function (mail_field:String):Boolean {
    var temp = this[mail_field].text.split(" ").join("");
    var r:Boolean = (temp.length<=0) ? false : true;
    return r;
    };
    // creo la funzione di verifica per il campo mail
    var checkMail:Function = function (target:MovieClip, nameField:String):Boolean {
    var temp:String = target[nameField].text;
    temp = temp.split(" ").join("");
    if (temp.length>0) {
    if (temp.lastIndexOf("@")>-1) {
    var temp2 = temp.split("@");
    if (temp2[1].length>5) {
    var temp3 = temp2[1].split(".");
    if (temp3[0].length>2 && temp3[1].length>1) {
    return (true);
    }
    return (false);
    }
    return (false);
    }
    return (false);
    }
    return (false);
    };
    // creo una funzione che viene richiamata al tentativo di invio
    var alert_report:Function = function (c:Number) {
    switch (c) {
    //
    // case 0 -> il primo caso viene richiamato se l'invio è avvenuto correttamente
    case 0 :
    notifica_inviato.onFadeDone = function() {
    this.onFadeDone = undefined;
    var intv = setInterval(function () {
    notifica_inviato.fadeAlpha(0);
    clearInterval(intv);
    }, 1000);
    };
    notifica_inviato.fadeAlpha(100);
    break;
    //
    // case 1 -> il secondo caso viene richiamato se i campi obbligatori non sono stati compilati
    case 1 :
    errore_invio.onFadeDone = function() {
    this.onFadeDone = undefined;
    var intv = setInterval(function () {
    errore_invio.fadeAlpha(0);
    clearInterval(intv);
    }, 1000);
    };
    errore_invio.fadeAlpha(100);
    break;
    //
    // case 2 -> il terzo caso viene richiamato se il server non risponde o se la mail non viene inviata correttamente
    case 2 :
    errore_server.onFadeDone = function() {
    this.onFadeDone = undefined;
    var intv = setInterval(function () {
    errore_server.fadeAlpha(0);
    clearInterval(intv);
    }, 1000);
    };
    errore_server.fadeAlpha(100);
    break;
    case 3 :
    errore_mail.onFadeDone = function() {
    this.onFadeDone = undefined;
    var intv = setInterval(function () {
    errore_mail.fadeAlpha(0);
    clearInterval(intv);
    }, 1000);
    };
    errore_mail.fadeAlpha(100);
    break;
    }
    };
    // creo un array che mi contenga tutti i nomi dei campi di testo che intendo inviare via mail
    var campi:Array = new Array("nome", "cognome", "ruolo", "mail", "telefono", "messaggio");
    // e un altro array che contiene i nomi dei campi obbligatori
    var campiObbligatori:Array = new Array("nome", "mail", "messaggio");
    // entrambi gli array appena creati devono essere riproposti in php secondo le istruzioni del file PHP
    //
    // restringo l'immissione di caratteri nel campo mail a quelli necessari
    this["mail"].restrict = "^ ";
    // attivo il TAB per i campi
    for (var i = 0; i<campi.length; i++) {
    var l:Number = i+1;
    this[campi[i]].tabIndex = l;
    }
    // attivo l'invio della mail sul pulsante "invia_form"
    invia_form.onRelease = function() {
    // creo il LoadVars per la comunicazione con il file PHP
    var lv_sendMail:LoadVars = new LoadVars();
    // avvio un ciclo che mi verifica se i campi obbligatori sono riempiti
    // in caso positivo invia i dati al file PHP
    // in caso negativo attiva l'alert_report -> case 1
    for (var m = 0; m<campi.length; m++) {
    if (campiObbligatori.toString().indexOf(campi[m])>=0) {
    if (validate(campi[m])) {
    if (campi[m] != "mail") {
    lv_sendMail[campi[m]] = this._parent[campi[m]].text;
    } else {
    if (checkMail(this._parent, campi[m])) {
    lv_sendMail[campi[m]] = this._parent[campi[m]].text;
    } else {
    alert_report(3);
    break;
    }
    }
    } else {
    alert_report(1);
    break;
    }
    } else {
    lv_sendMail[campi[m]] = this._parent[campi[m]].text;
    }
    // alla fine delle verifiche, se è tutto apposto, invio i dati
    if (m>=campi.length-1) {
    lv_sendMail.sendAndLoad("sendmail.php", lv_sendMail, "POST");
    }
    }
    // compilo l'evento onLoad della classe LoadVars che mi verifica se l'invio è andato a buon fine o meno
    // nel caso sia stata inviata attiva l'alert_report -> case 0
    // altrimenti attiva l'alert_report -> case 2 (errore del server)
    lv_sendMail.onLoad = function(ok) {
    if (ok) {
    if (this.report == "OK") {
    alert_report(0);
    reset_form.onRelease();
    } else {
    alert_report(2);
    }
    } else {
    alert_report(2);
    }
    };
    };
    // il tasto "reset_form" si occupa di svuotare i campi del form
    reset_form.onRelease = function() {
    for (var r = 0; r<campi.length; r++) {
    this._parent[campi[r]].text = "";
    }
    };


    Mentre nella pagina in php c'è questo:

    <?
    if(!empty($_POST)){
    // valori da modificare
    $address = "email@email.it"; // inserire qui tra le "email@email.it" la mail a cui va inviato il messaggio
    $site = "www.sitoweb.it"; // facoltativo, potete inserire qui il nome del sito
    $object = "Invio mail dal sito $site"; // oggetto
    $body = ""; // non modificate qui
    //
    // i valori dei due array che seguono vanno modificati in base a quelli presenti negli array con lo stesso nome, nello script di flash
    $campi = array("Nome", "Cognome", "Ruolo", "mail", "Telefono", "Messaggio");
    $campiObbligatori = array("Nome", "mail", "Messaggio");
    //
    // non modificare lo script al di sotto di questa riga
    //---------------------------------------------------------------//
    $s = implode(",", $campiObbligatori);
    foreach($campi as $value) {
    $this->$value = (isset($_POST[$value])) ? $_POST[$value] : NULL;
    }
    foreach($campi as $value){
    if(substr_count($s, $value) > 0 && is_null($this->$value)){
    echo "&report=KO& -> per colpa di chi?";
    break;
    } else {
    $body.= $value.": ".$this->$value."\r\n";
    if($value == $campi[count($campi)-1]) {
    if(!mail($address, $object, $body)) die("&report=KO&");
    else echo "&report=OK&";
    }
    }
    }
    }
    ?>


    Cos'ho fatto?? come mai non va più?
    Snik

  5. #5
    Utente bannato
    Registrato dal
    Jan 2009
    Messaggi
    713

    penso sia un errore di percorso

    l'alert: Errore: Il server non ha risposto
    controlla bene quella riga:

    lv_sendMail.sendAndLoad("sendmail.php", lv_sendMail, "POST");

    deve iniziare per http://tuogestore/sendmail.php,
    magari hai cambiato nome sendMail.php devi fare attenzione tra maiuscolo e minuscolo
    oppure hai cambiato il nome del file ricevente
    prova con "send" anzicchè con "sendAndLoad" però devi togliere l'alert.. la parte onLoad
    ppure manda le variabili con getURL... ne basta una le altre le prende il php automaticamente
    tipo getURL("http://fdfdfd.sendMail.php, cognome, "POST"); tantop per vedere se il problema sta nel php

  6. #6
    Utente di HTML.it L'avatar di snik
    Registrato dal
    Sep 2006
    Messaggi
    256
    ho provato a inserire così come stava su un'altro host ovvero non più su aruba ma su altervista e mi funziona come mai?!?!?!?
    Snik

  7. #7
    Utente bannato
    Registrato dal
    Jan 2009
    Messaggi
    713

    ogni gestore ha la sua "filosofia" eh eh

    ad esempio ci sono molti gestori che non supportano liguaggi lato server
    di quelli che conosco io: libero, tiscali, 250free questi non supportano nè php nè asp
    mentre altervista (per mia fortuna) supporta php e non asp almeno quest'ultimo l'ho provato l'ultima volta e non mi funzionava...

    però è strano che non ti funziona su aruba è sito a pagamento se non sbaglio...
    di solito quando si buttano i soldi dalla finestra vunziona tutto.

    comunque da parte mia.... i miei suggerimenti te l'ho dato non ho altro da aggiungere
    buona fortuna

    ciao
    _________
    by max

  8. #8
    Utente di HTML.it L'avatar di snik
    Registrato dal
    Sep 2006
    Messaggi
    256
    si ti ringrazio per aver almeno cercato di aiutarmi comunque ho pensato anche io questa cosa che magari è il gestore che non lo legge ma il fatto è che prima funzonava!!! e così come stà l'ho caricato su altervista e funziona. Avranno tolto il linguaggio php??? con quello che pago...
    Snik

  9. #9
    Utente di HTML.it L'avatar di snik
    Registrato dal
    Sep 2006
    Messaggi
    256
    ho rifatto tutto da capo e sono riuscito a risolvere, sicuramente c'era qualche errore stupido! grazie cmq
    Snik

  10. #10
    Utente di HTML.it L'avatar di snik
    Registrato dal
    Sep 2006
    Messaggi
    256
    scusatemi ancora, credevo di aver risolto tutto ma ora si funziona cioè inserisco i dati e mi esce che gli ha inviati ma quando vado a controllare in posta non ha inviato niente!!! come mai???? eppure nel file php ho inserito la mia mail, vi posto il codice php:

    &lt;?php

    if(!empty($_POST)){

    // valori da modificare

    $address = &quot;xxx@xxx.xxx&quot;; // inserire qui tra le &quot;email@email.it&quot; la mail a cui va inviato il messaggio

    $site = &quot;http://www.sito.it&quot;; // facoltativo, potete inserire qui il nome del sito

    $object = &quot;Invio mail dal sito $site&quot;; // oggetto

    //

    // i valori dei due array che seguono vanno modificati in base a quelli presenti negli array con lo stesso nome, nello script di flash

    $campi = array(&quot;nome&quot;, &quot;ditta&quot;, &quot;ruolo&quot;, &quot;mail&quot;, &quot;tel&quot;, &quot;messaggio&quot;

    $campiObbligatori = array(&quot;nome&quot;, &quot;mail&quot;, &quot;messaggio&quot;

    //

    // non modificare lo script al di sotto di questa riga

    //---------------------------------------------------------------//

    $body = &quot;&quot;;

    $headers = &quot;&quot;;

    $o = (object) $_POST;

    $s = implode(&quot;,&quot;, $campiObbligatori);

    foreach($campi as $value){

    if(substr_count($s, $value) &gt; 0 &amp;&amp; is_null($o-&gt;$value)){

    echo &quot;&amp;report=KO&amp;&quot;;

    break;

    } else {

    if(!is_null($o-&gt;mail) &amp;&amp; $o-&gt;$value == $o-&gt;mail){

    $headers.= &quot;From: &lt;&quot;.$o-&gt;mail.&quot;&gt;&quot;;

    }

    $body.= $value.&quot;: &quot;.$o-&gt;$value.&quot;\r\n&quot;;

    if($value == $campi[count($campi)-1]) {

    if(!mail($address, $object, $body, $headers)) die(&quot;&amp;report=KO&amp;&quot;

    else echo &quot;&amp;report=OK&amp;&quot;;

    }

    }

    }

    }

    ?&gt;
    <?php
    if(!empty($_POST)){
    // valori da modificare
    $address = "solsann@tiscali.it"; // inserire qui tra le "" la mail a cui va inviato il messaggio
    $site = "http://..."; // facoltativo, potete inserire qui il nome del sito
    $object = "Invio mail dal sito $site"; // oggetto
    //
    // i valori dei due array che seguono vanno modificati in base a quelli presenti negli array con lo stesso nome, nello script di flash
    $campi = array("nome", "ditta", "ruolo", "mail", "tel", "messaggio");
    $campiObbligatori = array("nome", "mail", "messaggio");
    //
    // non modificare lo script al di sotto di questa riga
    //---------------------------------------------------------------//
    $body = "";
    $headers = "";
    $o = (object) $_POST;
    $s = implode(",", $campiObbligatori);
    foreach($campi as $value){
    if(substr_count($s, $value) > 0 && is_null($o->$value)){
    echo "&report=KO&";
    break;
    } else {
    if(!is_null($o->mail) && $o->$value == $o->mail){
    $headers.= "From: <".$o->mail.">";
    }
    $body.= $value.": ".$o->$value."\r\n";
    if($value == $campi[count($campi)-1]) {
    if(!mail($address, $object, $body, $headers)) die("&report=KO&");
    else echo "&report=OK&";
    }
    }
    }
    }
    ?>
    Snik

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.