Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it L'avatar di tapu
    Registrato dal
    May 2008
    Messaggi
    885

    problema controlli livello procedura. non reinderizza dopo controllo

    ciao
    ho una classe già scritta che effettua un inserimento dati nel db prelevati via post da un form.

    questa classe non ha i controlli sui campi e dovrei inserirli.

    il brutto e che non posso utilizzare gli oggetti che semplificherebbero le cose, allora ho pensato di utilizzare una classe funzioni_controlli da includere nel progetto.

    ora io nella mia classe funzioni ho una serie di function (scontato) che ritornano vero o falso.

    il problema e che non funzionano correttamente...

    Codice PHP:
    function controllo_mail($var_mail) {
        
    $result preg_match("^[_a-z0-9+-]+(\.[_a-z0-9+-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)+$",$var_mail);
        if(
    $result == false){
            return 
    $var_mail;
        }else{
            return 
    true;
    }
    }

    function 
    vuoto($var){
        if (empty (
    $var)){
            return 
    true;
        }else{
            return 
    false;
        }
    }


    function 
    caratteri($var){
        
    $result eregi("^[a-zA-Z]+$",$var);
        if (
    $result == true){
            return 
    true;
        }else{
            return 
    false;
        }
    }


    function 
    numeri($var){
        
    $result eregi("^[0-9]+$"$var);
        if (
    $result){
            return 
    true;
        }else{
            return 
    false;
        }
    }

    function 
    password_check($var $var2){
        if (
    $var === $var2){
            return 
    true;
        }else{
           return 
    false;
        }

    questa è la parte che non funziona o meglio mi restituisce valori che non sono coerenti...

    mentre questa è come li richiamo lato server nella classe principale

    Codice PHP:
    /*Controllo di coerenza sui singoli campi*/
    $vuoto_1 vuoto($coddeb);
    if (
    $vuoto_1){
        
    $_SESSION['coddeb_vuoto'] = $coddeb;
        
    $vuoto_1Control 0;
    }else {
        
    $vuoto_1Control 1;    
    }

    $vuoto_2 vuoto($ragsoc);
    if (
    $vuoto_2){
        
    $_SESSION['ragsoc_vuoto'] = $ragsoc;
        
    $vuoto_2Control 0;
    }else {
        
    $vuoto_2Control 1;    
    }

    if ((
    $vuoto_2Control == 0)||($vuoto_1Control == 0)){
        
    header("../../index.php?id_user=$idget&pag=insdeb&pieni=si");
    }
    /*qui sotto ci sono gli inserimenti e altri controlli se le stringhe sono gia presenti
    nel db o sul file etc*/ 
    a livello di procedura sto sbagliando qualcosa?
    se si perchè non mi reindirizza una volta verificato che la variabile non ha nulla?

    scusate ma da un paio di gg sto andando in palla---
    cià

  2. #2
    Utente di HTML.it L'avatar di Luke70
    Registrato dal
    Jul 1999
    Messaggi
    767
    header("Location: ../../index.php?id_user=$idget&pag=insdeb&pieni=si");

  3. #3
    Alternativamente all'header location potresti stampare del javascript in php col seguente codice:

    echo "<script type=\"text/javascript\">

    window.location=\"../../index.php?id_user=$idget&pag=insdeb&pieni=si\";

    </script>";


    Ciao,

    Cristian
    Believe in GOD, you could only have Benefits from him!!

  4. #4
    Utente di HTML.it L'avatar di Luke70
    Registrato dal
    Jul 1999
    Messaggi
    767
    header ('location:') ha diversi vantaggi tra i quali citerei il fatto che l'utente non si accorge di nulla perchè non viene caricata nessula pagina di redirezzione, ma avviene tutto a livello server.

    Inoltre se preme sul tasto back non si ritrova la pagina con il JS ma ritorna alla reale pagina da cui era partito

  5. #5
    Utente di HTML.it L'avatar di tapu
    Registrato dal
    May 2008
    Messaggi
    885
    Originariamente inviato da taurus82
    Alternativamente all'header location potresti stampare del javascript in php col seguente codice:

    echo "<script type=\"text/javascript\">

    window.location=\"../../index.php?id_user=$idget&pag=insdeb&pieni=si\";

    </script>";


    Ciao,

    Cristian
    è proprio per quello che sto rivedendo tutto il progetto ... ieri in una discussione mi sono accorto che alcune (troppe) parti senza il js attivo non si poteva fare nulla , quindi sto mettendo mille controlli in più e non devo assolutamente usare js!
    il 5% delle aziende nel mondo non utilizzano js più o meno 300.000.000

    cmq grazie per la soluzione



    header ('location:') ha diversi vantaggi tra i quali citerei il fatto che l'utente non si accorge di nulla perchè non viene caricata nessula pagina di redirezzione, ma avviene tutto a livello server.
    approvo la scelta del location ... infatti è quella che uso sempre ...

    header(" ../../index.php?id_user=$idget&pag=insdeb&pieni=si");
    non è questo l'errore o la mal procedura , non ho messo Location perchè sono distratto e ho scritto male , ma nel prg esiste!

  6. #6
    Utente di HTML.it L'avatar di Luke70
    Registrato dal
    Jul 1999
    Messaggi
    767
    Scusami, ma mi sembra tutto molto confuso:

    - non ti serve creare una funzione vuoto() se esiste già empty()
    - che cosa assegni alla variabile di sessione? il nulla

  7. #7
    Utente di HTML.it L'avatar di tapu
    Registrato dal
    May 2008
    Messaggi
    885
    si ... lo so

    io vorrei indicare all'utente con precisione quali sono i valori che non ha inserito o che ha inserito in maniera scorretta!
    ma non mi viene in mente nulla...

    la sessione mi servirebbe per riportare sui vari campi i valori che l'utente ha riempito , se non ha messo i campi obbligatori gli riporto solo l'avviso ..

    ovviamente la sessione si riempie solo se esiste qualcosa all'interno della variabile inviata via post!

    quindi per i campi empty penso di inserire un errore generico!

    l'altro problema che mi pongo è quello della query string. Per ora trasporto i valori da una parte all'altra dell'applicazione con la QS ma finchè è un valore del tipo:
    errore=pippo
    riprendo l'errore nella view e stampo un avviso ... ma quando si tratta di valori neio campi preferisco non usarla!

    perdona la confusione ma sto dando di matto in sti gg!! :

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.