Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1
    Utente di HTML.it L'avatar di pgm
    Registrato dal
    Apr 2002
    Messaggi
    1,281

    [ahah] invio dati in post e redirezione

    Ciao a tutti

    ho un problema, anzi due, con la classe AHAH .
    Vediamo se potete aiutarmi a risolverli


    Ho un form in index.php che manda in post tramite ahah ad un file login.php le varibili per il login.
    Per curiosità prima di ogni altra operazione, ho stampato l'array post
    ed ho visualizzato questi dati
    Array ( [undefined] => undefined [user] => quellochevoglio [pwd] => quellochevoglio )

    Se invece mando le variabili senza ahah e stampo l'array ho
    Array ( [user] => quellochevoglio [pwd] => quellochevoglio [submit] => login)

    A parte il tipo submit che non viene passato, come mai ho una variabile
    undefined?
    Non riesco a capire da dove esce


    Risolvendo il primo quesito , vorrei sapere come reindirizzare l'utente se il login va a buon fine.
    Es. nel file login.php
    Codice PHP:
    <?php 
    if($login){ 
      
    header("Location: altra_pagina.php");
    }else{ 
      echo 
    "errore nel login"

    ?>
    Con ahah, mi viene stampato nel div dinamico il contenuto di altra_pagina.php.
    Come posso fare per evitare ciò?

    Grazie a tutti per l'attenzione

  2. #2
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Spero di essere smentito :master: ma non credo che con ahah puoi fare quello che vuoi.
    Guardando il codice originale, vedo che la funzione accetta, non una funzione di ritorno, ma una stringa (target).
    La funzione richiama ahahDone che non fa altro che mettere dentro target, il testo restituito dal server:
    document.getElementById(target).innerHTML = req.responseText;

    Perciò, se puoi manipolare questa funzione, puoi fare per esempiospeudo codice)

    se req.responseText = "errore nel login" allora
    messaggio di errore
    altrimenti
    location.href = .... Redirezione

    per la prima domanda sei tu che devi rispondere:
    i parametri spediti hanno la forma:
    variabile1=valore1&variabilen=valoren

    non vedo la difficoltà
    Pietro

  3. #3
    Utente di HTML.it L'avatar di pgm
    Registrato dal
    Apr 2002
    Messaggi
    1,281
    Spero di essere smentito :master: ma non credo che con ahah puoi fare quello che vuoi.
    Guardando il codice originale, vedo che la funzione accetta, non una funzione di ritorno, ma una stringa (target).
    La funzione richiama ahahDone che non fa altro che mettere dentro target, il testo restituito dal server:
    document.getElementById(target).innerHTML = req.responseText;

    Perciò, se puoi manipolare questa funzione, puoi fare per esempiospeudo codice)

    se req.responseText = "errore nel login" allora
    messaggio di errore
    altrimenti
    location.href = .... Redirezione
    pensavo anch'io di fare una cosa del genere.

    volevo una conferma

    per la prima domanda sei tu che devi rispondere:
    i parametri spediti hanno la forma:
    variabile1=valore1&variabilen=valoren

    non vedo la difficoltà
    lo so che i parametri vengono mandati in quel modo.

    Ma ripeto:
    se stampo l'array post senza ahaha ho il risultato che voglio; nell'altro caso invece, viene si tolto l'input di tipo submit, ma all'inizio del nuovo array inserisce una coppia chiave valore di questo tipo [undefined] => undefined
    non so se mi sono spiegato.

    Grazie per il tuo intervento

  4. #4
    Utente di HTML.it L'avatar di pgm
    Registrato dal
    Apr 2002
    Messaggi
    1,281
    per la cronaca la funzione likesubmit accoda questo

    undefined=undefined&user=something&undefined=undef ined&pwd=something



    non capisco....che ci sia qualcosa di oscuro all'interno del <form></form>?

  5. #5
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Originariamente inviato da pgm
    per la cronaca la funzione likesubmit accoda questo

    undefined=undefined&user=something&undefined=undef ined&pwd=something



    non capisco....che ci sia qualcosa di oscuro all'interno del <form></form>?
    la funzione citata non la conosco, ma ripeto, dal primo esempio che trovo


    codice:
    var parametri = document.getElementById("__EVENTTARGET").name + "=" + v.id
    				+ "&" + document.getElementById("__VIEWSTATE").name + "=" + escape(document.getElementById("__VIEWSTATE").value)
    				+ "&" + document.getElementById("Text1").name + "=" + escape(document.getElementById("Text1").value);
    dove sta la difficoltà nel comporre una semplicissima stringa? :master:
    Pietro

  6. #6
    Utente di HTML.it L'avatar di pgm
    Registrato dal
    Apr 2002
    Messaggi
    1,281
    Originariamente inviato da pietro09
    la funzione citata non la conosco, ma ripeto, dal primo esempio che trovo


    codice:
    var parametri = document.getElementById("__EVENTTARGET").name + "=" + v.id
    				+ "&" + document.getElementById("__VIEWSTATE").name + "=" + escape(document.getElementById("__VIEWSTATE").value)
    				+ "&" + document.getElementById("Text1").name + "=" + escape(document.getElementById("Text1").value);
    dove sta la difficoltà nel comporre una semplicissima stringa? :master:
    la stringa è facile da comporre, o almeno lo script la compone in modo chiaro, semplice e coinciso.
    eccola.
    codice:
    likeSubmit : function ( file, method, formName, target ) {
    
      var the_form = document.getElementById(formName);
      var num = the_form.elements.length;
      var url = "";
    
     for (var i = 0; i < num; i++){	
        var chiave = the_form.elements[i].name;
        var valore = the_form.elements[i].value;
        var tipo = the_form.elements[i].type;
          
         if ( (tipo == "submit") || (tipo == "radio") || (tipo == "checkbox") ){}
    
        else {
          url += chiave + "=" + valore + "&";
        }
      }
    }
    se faccio un alert della varibile url, mi da quello che ho postato prima.
    Non è un problema creare la sringa, fin qui ci siamo.

    Quello che non capisco è perchè se ho tre elemeni nel form
    codice:
    <form action="javascript:completeAHAH.likeSubmit('login.php', 'POST', 'frmLogin', 'target');" name="frmLogin" method="post">
              <fieldset>
                <legend>Username</legend>
                <label><input  type="text" name="user" value="" id="user" class="input" /></label>
              </fieldset>
              <fieldset>
                <legend>Password</legend>
                <label><input  type="password" name="pwd" value="" id="pwd" class="input" maxlength="8" /></label>
              </fieldset>
              <input type="submit" name="submit" value="login" id="loginbt" class="submit" />
            </form>
    mi deve dare due elementi undefined e i tre che mi aspetto.

    da quella funzione mi aspetto, e per le conoscenze che ho non vedo perchè sia diverso,

    user=something&pwd=something

    e invece ho

    undefined=undefined&user=something&undefined=undef ined&pwd=something

    Capisci quello che ointendo adesso oppure non mi sono spiegato ancora?

  7. #7
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    gentilissimo pgm, ti sei spiegato benissimo ma anch'io mi sono spiegato quando ti suggerivo di non usare likeSubmit, ma di farlo te da solo, che fai prima e meglio : insomma, vuoi usare ahah? bene prenditene però le conseguenze Io non la uso di certo

    ciao
    Pietro

  8. #8
    Utente di HTML.it L'avatar di pgm
    Registrato dal
    Apr 2002
    Messaggi
    1,281
    Originariamente inviato da pietro09
    gentilissimo pgm, ti sei spiegato benissimo ma anch'io mi sono spiegato quando ti suggerivo di non usare likeSubmit, ma di farlo te da solo, che fai prima e meglio : insomma, vuoi usare ahah? bene prenditene però le conseguenze Io non la uso di certo

    ciao
    ah

    era quello che mi consigliavi? non vaevo capito

    sono fuso in questi giorni. porta pazienza




    p.s.
    mi ero incaponito perchè volevo arrivare in fondo a questo problema. fa niente invece

  9. #9
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Originariamente inviato da pgm
    ah

    era quello che mi consigliavi? non vaevo capito

    sono fuso in questi giorni. porta pazienza




    p.s.
    mi ero incaponito perchè volevo arrivare in fondo a questo problema. fa niente invece
    Scusami se tardo nella risposta, ma sono con un modem ultraveloce da 45 kbps

    Per me fai bene ad andare a fondo ad un problema: io ho provato molto superficialmente quella funzione da te citata, con un solo <input type=button, ed ho avuto risultati che non mi aspettavo; però non posso certo dire che quel codice è sbagliato ma che forse sono io che non lo uso adeguatamente.

    Per quanto riguarda la seconda domanda, vedi bene che non si può fare, a meno di non mettere mano alla funzione ahah, il che, per me non è accettabile
    Naturalmente, se lo scopo è quello (come suggerito dal link che consigli) di scrivere sullo schermo "Ciao Mondo!" allora va che è una meraviglia

    ciao ciao
    Pietro

  10. #10
    Utente di HTML.it L'avatar di pgm
    Registrato dal
    Apr 2002
    Messaggi
    1,281
    Originariamente inviato da pietro09
    Scusami se tardo nella risposta, ma sono con un modem ultraveloce da 45 kbps

    Per me fai bene ad andare a fondo ad un problema: io ho provato molto superficialmente quella funzione da te citata, con un solo <input type=button, ed ho avuto risultati che non mi aspettavo; però non posso certo dire che quel codice è sbagliato ma che forse sono io che non lo uso adeguatamente.

    Per quanto riguarda la seconda domanda, vedi bene che non si può fare, a meno di non mettere mano alla funzione ahah, il che, per me non è accettabile
    Naturalmente, se lo scopo è quello (come suggerito dal link che consigli) di scrivere sullo schermo "Ciao Mondo!" allora va che è una meraviglia

    ciao ciao
    figurati

    per il primo quesito voglio veramente capire il perchè.
    per il secondo vedremo anche perchè non sarebbe male una possibilità di quel tipo.

    Chiaro che ajax e ahah in questo caso, non sarebbero da usare per la navigazione (o redirect), ma per controlli al volo, livesearch, ecc.
    Vediamo un pò di cambiare soluzione o di aggiungere una funzioncina.

    ti ringrazio per il dibattito

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.