creare controllo campi form

sto creando un piccolo CMS [con quel poco che so di php,tanto per imparare] e mi sono incastrato sul controllo dei dati inseriti in un form.il codice è questo

<?

/*

+--------------------------------------------------------------------------+

|   Revoke 1.0                                                       |

|   ========================================                               | 

|   author: Trashofmasters                                                 |

|   © dotdesign scripting team                                             |

|   http://www.dotdesign.org                                               |

|   ========================================                        |

+--------------------------------------------------------------------------+

*/   

    include ('layout/header.php');                              //Header

   require ("lang/setup.php");                                     //File di linguaggio

   require("../functions/functions.php");                       //Funzione per redirect 

   

#   error_reporting(E_ALL);                                         //Riporta tutti gli errori,per attivare la funzione eliminare # all'inizio del rigo 

//+-----------------------------------------------------------

// Controllo versione PHP blocco setup

//+-----------------------------------------------------------

   $php = phpversion();

   

   if ($php < '4.0.0') {                                    // controlla se la versione del php installato è superiore alla 4.0

   

    echo"$lang[12]";                                       //se inferiore  blocca il setup

    

    exit();

       

   }

   

    

  if ( file_exists ('install.lock')) {                        //controlla se l'installazione è già stata effettuata

  

    echo"$lang[11]";                                             //se il file esiste bloca il setup e non permette di proseguire

    

   exit();

   

   }

   

//+-----------------------------------------------------------

// Funzioni

//+-----------------------------------------------------------

//funzione di avvio,qui viene richiesto username,password e nome del tuo database

//+-----------------------------------------------------------

   function start()

   {                              

   

   global $lang;                        

   

   

   echo"$lang[20]";                                             //messaggio di benevenuto

   }

      

   function setup()

   {

   

   

   global $lang;

   

echo <<< FORM

<br /><br /><br /><br />

<link href="../install/css/style.css" rel="stylesheet" type="text/css">

<form action="index.php?action=check" method="post" name="module" target="_self" id="module">

  <table width="643" border="0" align="center" cellpadding="0" cellspacing="3" class="table">

  <tr>

    <td height="26" colspan="2" background="../install/layout/layout_images/cell-foreground.gif" class="box">$lang[4]</td>

    </tr>

  <tr class="text">

    <td><div align="left"></div></td>

    <td>&nbsp;</td>

  </tr>

  <tr class="text">

    <td width="287">

      <div align="left">

        <input name="user" type="text" class="install" size="40" maxlength="100">      

      </div></td>

    <td width="347">$lang[0]</td>

  </tr>

  <tr class="text">

    <td>

      <div align="left">

        <input name="pass" type="password" class="install" size="40" maxlength="100">

      </div></td>

    <td>$lang[1]</td>

  </tr>

  <tr class="text">

    <td>

      <div align="left">

        <input name="pass2" type="password" class="install" size="40" maxlength="100">

      </div></td>

    <td>$lang[6]</td>

  </tr>

  <tr class="text">

    <td>

      <div align="left">

        <input name="email" type="text" class="install" id="email" size="40" maxlength="100">

      </div></td>

    <td>$lang[9]</td>

  </tr>

  <tr class="text">

    <td><div align="left"></div></td>

    <td>&nbsp;</td>

  </tr>

  <tr class="text">

    <td height="26" colspan="2" background="../install/layout/layout_images/cell-foreground.gif" class="box"><div align="left">$lang[7]</div></td>

    </tr>

  <tr class="text">

    <td><div align="left"></div></td>

    <td>&nbsp;</td>

  </tr>

  <tr class="text">

    <td>

      <div align="left">

        <input name="name" type="text" class="install" id="name" size="40" maxlength="100">

      </div></td>

    <td>$lang[2]</td>

  </tr>

  <tr class="text">

    <td>

      <div align="left">

        <input name="user" type="text" class="install" id="user" size="40" maxlength="100">

      </div></td>

    <td>$lang[0]</td>

  </tr>

  <tr class="text">

    <td>

      <div align="left">

        <input name="pass" type="text" class="install" id="pass" size="40" maxlength="100">

      </div></td>

    <td>$lang[1]</td>

  </tr>

  <tr class="text">

    <td>

      <div align="left">

        <input name="host" type="text" class="install" id="host" size="40" maxlength="100">

      </div></td>

    <td>$lang[8]</td>

  </tr>

  <tr class="text">

    <td>

      <div align="left">

        <input name="prefix" type="text" class="install" id="prefix" value="rvk_" size="40" maxlength="100">

      </div></td>

    <td>$lang[3]</td>

  </tr>

  <tr class="text">

    <td>&nbsp;</td>

    <td>&nbsp;</td>

  </tr>

  <tr class="text">

    <td>&nbsp;</td>

    <td><input type="submit" name="Submit" class="submit" value="$lang[5]"><br /></td><br />

  </tr>

  <br />

</table> 

</form>

FORM;

   

   }

//+-----------------------------------------------------------

//funzione di controllo,questa funzione controlla che i dati del form siano corretti e completi 

//+-----------------------------------------------------------

   function check()

   {

   

    global $lang, $redirection;

   

      

   $dbuser = $_POST['dbuser'];

   $dbpass = $_POST['dbpass'];

   $dbhost = $_POST['dbhost'];

   $dbname = $_POST['dbname'];

   $prefix = $_POST['prefix'];

   $user   = $_POST['user'];

   $pass   = $_POST['pass'];

   $pass2  = $_POST['pass2'];

   $email  = $_POST['email'];

   $ip     = $_SERVER['REMOTE_ADDR'];   

   $date   = date("d/M/Y h:i:s");

   

//+-----------------------------------------------------------

//Se tutti i dati sono corretti esegue la creazione del file 

//di configurazione ed esegue le query al database

//+-----------------------------------------------------------      

      else

        {   

       $config = "<?php

      \$db_user = \"$dbuser\";

      \$db_pass = \"$dbpass\";

      \$db_name = \"$dbname\";

      \$db_host = \"$dbhost\";

      \$prefix  = \"$prefix\";

      

       \$conn = mysql_connect(\"\$db_host\",\"\$db_user\",\"\$db_pass\") or die (\"\$lang[56]\");    

      \$db = mysql_select_db(\"\$db_name\", \$conn) or die(\"\$lang[56]\");

            

      ?>

<p>";

   

      $file = fopen("../config/config.php","w");

      $conf = fwrite($file,("$config"));

      fclose($file);

      }

      

   if ( file_exists ('../config/config.php'))                      //Se il file di configurazione è stato creato lo include altrimenti da errore

   {   

   redirect(0,"index.php?action=query");

   

   }else{

   echo "$lang[555]";

   

      function query()

   {

   

   $pass = md5($pass);                                      //genera il digest md5 della passowrd 

   

//+-----------------------------------------------------------

//ATTENZIONE!!

//query al database moificate qui sotto solo se sapete cosa state facendo

//+-----------------------------------------------------------

   

         $SQL = array (   

   1=>" CREATE TABLE `".$prefix."admin` (

        `id` int(255) NOT NULL auto_increment,

        `username` varchar(32) NOT NULL,

        `password` varchar(32) NOT NULL,

        `email` varchar(255) NOT NULL,

        `ban` set('1','0') NOT NULL,

        `regdate` varchar(25) NOT NULL,

       `ip` varchar(50) NOT NULL,

       `ban` set('1','0') NOT NULL,

        PRIMARY KEY  (`id`)

      ) TYPE=MyISAM AUTO_INCREMENT=1 ;;",

   2=>" CREATE TABLE `".$prefix."members` (

        `id` int(255) NOT NULL auto_increment,

        `username` varchar(32) NOT NULL,

        `password` varchar(32) NOT NULL,

        `email` varchar(255) NOT NULL,

        `ban` set('1','0') NOT NULL,

        `regdate` varchar(25) NOT NULL,

        PRIMARY KEY  (`id`)

      ) TYPE=MyISAM AUTO_INCREMENT=1 ;",

      

   3=>" CREATE TABLE `".$prefix."news` (

      `id` INT( 255 ) NOT NULL AUTO_INCREMENT ,

      `titolo` VARCHAR( 80 ) NOT NULL ,

      `autore` VARCHAR( 40 ) NOT NULL ,

      `descrizione` TEXT NOT NULL ,

      `inviato` VARCHAR( 255 ) NOT NULL ,

      UNIQUE KEY(`id`),

      PRIMARY KEY ( `id` )) TYPE = MYISAM ;",

   

   4=>" CREATE TABLE `".$prefix."settings` (

      `Offline status` SET ( '0','1') NOT NULL ,

      `Language` VARCHAR ( 255 ) NOT NULL ,

      `Header` VARCHAR ( 255 ) NOT NULL,

      `copyright` VARCHAR ( 255 ) NOT NULL      

      ) TYPE = MYISAM ;",

      

   5=>"INSERT INTO `".$prefix."admin` ( `id` , `username` , `password` , `email` , `ban` , `regdate`, `ip`,`root`  )VALUES ('', '".$user."', '".$pass."', '".email."', '0', '".$date."', '".$ip."','');",

   

   6=>"INSERT INTO `".$prefix."news` ( `id` , `titolo` , `autore` , `descrizione` , `inviato` )VALUES ('', 'Revoke è stato installato con successo su questo sito!', 'revoke staff', 'Una copia di revoke è stata installata con successo su questo sito! caratteristiche *Aggiunta/rimozione/modifica news dal pannello admin *Gestione/ban utenti *email *gestore tabelle *gestione linguaggi totalmente traducibile *registrazione facile e veloce *grafica compatta e leggera *assistenza online ', 'installed');",

   

   7=>"INSERT INTO `".$prefix."settings` ( `Offline status` , `Language` , `Header` , `copyright` )VALUES ('0', 'italiano', 'Revoke', '© Copyright 2005 DotDesign.Pubblicato sotto licenza GNU GPL.');");

   foreach($SQL as $MySQL_query){

         mysql_query($MySQL_query) or die (mysql_error());

      }

      

   $errore = mysql_error();   

   

   if ($errore == "")

   {

    echo"$lang[14]";

   redirect(15, "../admin.php");

   }else{

   echo "$lang[556]";

   }

   

   $lock = phpversion();

   

       $file = fopen("../install.lock","w");

      $lock = fwrite($file,("$lock"));

      fclose($file);

   }

}

//+-----------------------------------------------------------

// Switch della pagina

//+-----------------------------------------------------------

   

   $action = isset($_GET['action']) ? $_GET['action'] : '';

   switch($action)

   

      {

          default:

             start();                              //Visualizzazione la funzione di avvio e benvenuto

          break;

    

          case "install":                           //passa alla funzione del form dove inserire i dati MySQL

             setup();

          break;

   

         case "check":                             //Controllo informazioni inviate

             check();

          break;

         

         case "query":                         

             query();

          break;

                  }

?>

in pratica deve darmi i seguenti errori:

[nome del campo] è vuoto

email valida [contenente @ e .]

controllare che il campo username nn contenga $ % & ! ? = [ ] ( ) ; : # @ §

se il capo prefix è vuoto usa un valore di default [rvk_]

se le 2 password coincidono

sapete aiutarmi,sono bloccato???

inviato 11 anni fa
Andrea Turso
Andrea Turso
86
modificato 11 anni fa
X 0 X

quali sono gli errori che ricevi? quali sono le righe che secondo te non funzionano?

risposto 11 anni fa
Gianni Tomasicchio
X 0 X

prima avevo un sistema diverso ma mi hann consigliato di usare eregi solo che nn so come fare e nn ho + il sorgente vecchio!

risposto 11 anni fa
Andrea Turso
Andrea Turso
86
X 0 X

devo rifare l'installer e il progetto [credo]! :'(

per diversi motivi:

la grafica non mi piace

il cms nn ha un logo

non controlla i campi uno ad uno

non so come fare in modo che nella parte principale dell'installer mi mostri le caratteristike consigliate per controllare se può essere installato [come joomla o simili]

non so come gestire la creazione delle pagine e utilizzare per ogni pagina un layout

e tanti altri motivi.....dovrò dedicarmi a qlcs di più semplice?????

ma io volevo creare qualcosa di carino e utile  :'( :'( :'( :'( :'( :'(

risposto 11 anni fa
Andrea Turso
Andrea Turso
86
X 0 X

Inizia con cose semplici. Le cose che non funzionano non sono ne carine ne utili  :dunno:

Inoltre se ti cimenti con cose complesse rischi di abbaterti e di mollare tutto. :nono:

 :bye:

risposto 11 anni fa
Gianni Tomasicchio
X 0 X

beh sinceramente nn so cosa poter fare  :-[ un blog un newser. boh.... nn so, che altro?

risposto 11 anni fa
Andrea Turso
Andrea Turso
86
X 0 X

inizia con un blog, è sfizioso e va di moda  :bye:

risposto 11 anni fa
Gianni Tomasicchio
X 0 X

ora il codice è questp    function check()

   {

    global $lang;

   $dbuser = $_POST['dbuser'];

   $dbpass = $_POST['dbpass'];

   $dbhost = $_POST['dbhost'];

   $dbname = $_POST['dbname'];

   $prefix = $_POST['prefix'];

   $user   = $_POST['user'];

   $pass   = $_POST['pass'];

   $pass2  = $_POST['pass2'];

   $email  = $_POST['email'];

   $ip     = $_SERVER['REMOTE_ADDR'];   

   $date   = date("d/M/Y h:i:s");

//+-----------------------------------------------------------

//check if the EMAIL field contains certain characters

//or is empty

//+-----------------------------------------------------------

       if (substr_count(($email), "@")   != 1 && ($email) != "" ||

         substr_count(($email), ".")   != 1 && ($email) != "" ||

         strlen ($email) < 10 ||

         strlen ($email) > 100)

       {

      echo "$lang{15}";

      exit();

      }

//+-----------------------------------------------------------

//check if USERNAME field contains forbidden characters

//or is empty

//+-----------------------------------------------------------

      elseif (substr_count(($user), "@") > 1  && ($user) != "" ||

            substr_count(($user), "$") > 1  && ($user) != "" ||

            substr_count(($user), "%") > 1  && ($user) != "" ||

            substr_count(($user), "!") > 1  && ($user) != "" ||

            strlen ($user) < 4 ||

            strlen ($user) > 18)

      {

      echo "$lang{21}";

      exit();

      }

//+-----------------------------------------------------------

//check if the PASSWORDS are the same

//+-----------------------------------------------------------   

      elseif ($pass != $pass2 ||

              $pass == "" && $pass2 == "")

       {

         echo "$lang{16}";

         exit();

       }   

//+-----------------------------------------------------------

//if PRFIX field is empty use the default prefix

//+-----------------------------------------------------------

      elseif ($prefix == "")

      {

      eregi_replace('', 'rvk_');

      }

//+-----------------------------------------------------------

//if all fields are correct create

//the configuration file and populate it

//+-----------------------------------------------------------

      else

        {   

       $config = "<?php

      \$db_user = \"$dbuser\";

      \$db_pass = \"$dbpass\";

      \$db_name = \"$dbname\";

      \$db_host = \"$dbhost\";

      \$prefix  = \"$prefix\";

       \$conn = mysql_connect(\"\$db_host\",\"\$db_user\",\"\$db_pass\") or die (\"\$lang{56}\");   

      \$db = mysql_select_db(\"\$db_name\", \$conn) or die(\"\$lang{56}\");

      ?>

<p>";

      $file = fopen("../config/config.php","w");

      $conf = fwrite($file,("$config"));

      fclose($file);

      }   

       $pass = md5($pass);                  //crypt the password with md5 algorithm            

      }   

Gianni nn mi sono arreso è ancora un cms! ;D

dimmi se è giusto e come posso migliorarlo,perchè credo sia pessimo

risposto 11 anni fa
Andrea Turso
Andrea Turso
86
modificato 11 anni fa
X 0 X

Non posso rispondere a domande così generiche.  :dunno:

 :bye:

risposto 11 anni fa
Gianni Tomasicchio
X 0 X

bhe allora basta dire che:

nn controlla i campi quando invece dovrebbe controllare USERNAME PASS PASS2 BDNAME DBPASS DBHOST DBPREFIX

e deve fare questi controlli :

username se contiene !"£$%&/()=?[]#@,.  da errore,se vuoto da errore

pass se vuoto da errore

pass2 se vuoto da errore

email deve contenere . @  se vuoto da errore

dbuser se vuoto da errore

dbpass se vuoto da errore

dbhost se vuoto usa localhost

prefix se vuoto usa default rvk_

e io nn so farlo in modo adatto uso una catena di IF e poi un ELSE ma nn va bene è troppo lento così

purtroppo è dal 22 aprile del 2005 che ci sbatto sopra e nn trovo altre soluzioni il controllo è una delle 3 cose che mi fa fermare sempre e nn mi fa andare avanti per finire il cms

risposto 11 anni fa
Andrea Turso
Andrea Turso
86
modificato 11 anni fa
X 0 X

se posso esserti d'aiuto... per controllare che i campi siano riempiti io utilizzo questo:

if (trim($user) == "" OR trim($pass) == "" OR trim($name) == "" OR trim($surname) == "" OR trim($mail) == "")

ricorda poi di fare:

$name = addslashes(stripslashes($name));

per aggiungere gli / davanti al nome (contro SQL Injection) e poi fai anche un

$pass = htmlspecialchars($pass);

per eventuali caratteri speciali come è,à,ù...

per il controllo e-mail io utilizzo questo:

if (eregi("^[_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,3}$", $mail))

spero di essere stato d'aiuto!

risposto 11 anni fa
z3ro
z3ro
1
X 0 X

Non ha senso usare tanti ELSEIF ma bastano dei semplici IF

risposto 11 anni fa
Gianni Tomasicchio
X 0 X

inoltre le echo non si fanno così:

echo "$lang{15}";

ma così:

echo $lang[15];

risposto 11 anni fa
Gianni Tomasicchio
X 0 X

si mi sono accorto e ho corretto ma da qualche parte avevo letto che si poteva usare $lang{0} boh ma nn andavano alora son tornato alle beneamate parentesi quadre [PARENTESI QUADRE RULEZ!]

risposto 11 anni fa
Andrea Turso
Andrea Turso
86
X 0 X

questa istruzione non ha senso:

eregi_replace('', 'rvk_');

non fa nulla!

magari volevi fare questo:

if ($prefix == "")

{

   $prefix == 'rvk_';

}

risposto 11 anni fa
Gianni Tomasicchio
X 0 X

inutille nn sto RIUSCENDO  :'( nn ce la sto facendo proprio!

nn so che fare sto esasperando sono 29 ore che provo e riprovo ma nn trovo nessuna soluzione!

potete aiutarmi?

e mancava a che che pur usando Global nn trovo le variabili anzi ne trova solo 2 $php_version e  $passy il resto lo dimentica o nn lo trovo per inserire nel db

risposto 11 anni fa
Andrea Turso
Andrea Turso
86
X 0 X

Stai facendo il passo più lungo della gamba. In 29 ore sai quante cose avresti potuto imparare se non ti fossi impuntato su questo script?

Devi procedere per gradi, inizia a realizzare un form con 1 o 2 campi e fai dei semplici controlli sui dati che ricevi dal POST. Quando verifichi che tutto funziona puoi aggiunere altri elementi allo script.

Leggiti la parte sui form e l'array POST del Corso PHP Base che abbiamo pubblicato.

 :bye:

risposto 11 anni fa
Gianni Tomasicchio
X 0 X

io quelle cose le ho fatte un anno fa....

cmq ho questo ora    function check()

   {

    global $lang;

   $username = $_POST['user'];

   $passy    = $_POST['pass'];

   $check_passy = $_POST['check_pass'];

   $email     =  $_POST['email'];

   $dbname   =  $_POST['dbname'];

   $dbuser   =  $_POST['dbuser'];

   $dbpass   =  $_POST['dbpass'];

   $dbhost   =  $_POST['dbhost'];

   $prefix    =  $_POST['prefix'];

         if (trim($username) == "" || trim($passy) == "" || trim($check_passy) == "")

         {

         echo "$lang[13]";

         }

         if (trim($dbname) == "" || trim($dbuser) == "" || trim($dbhost) == "")

         {

         echo "$lang[10]<br />$bduser<br />$dbpass<br />$dbname<br />";

         }

           if (substr_count(($email), "@") != 1 && ($email) != "" ||

         substr_count(($email), ".") != 1 && ($email) != "" ||

         strlen ($email) < 10 ||

         strlen ($email) > 120)

         {

         echo "$lang[12]";

         }

         if (trim($passy) != trim($check_passy))

         {

         echo "$lang[16]";

         }

         else

         {

non so come mai  con i campi dell'admin [$username $passy $check_passy $email] funziona  e trova gli errori e nn ne da se non ce ne sono ma invece i campi sql anche se riempiti non li corregge e li vede VUOTI!

risposto 11 anni fa
Andrea Turso
Andrea Turso
86
modificato 11 anni fa
X 0 X

Notice: Undefined index: dbname in C:\Programmi\Apache Group\Apache2\htdocs\revoke\install\index.php on line 179

Notice: Undefined index: dbuser in C:\Programmi\Apache Group\Apache2\htdocs\revoke\install\index.php on line 180

Notice: Undefined index: dbpass in C:\Programmi\Apache Group\Apache2\htdocs\revoke\install\index.php on line 181

Notice: Undefined index: dbhost in C:\Programmi\Apache Group\Apache2\htdocs\revoke\install\index.php on line 182

Notice: Undefined variable: bduser in C:\Programmi\Apache Group\Apache2\htdocs\revoke\install\index.php on line 193

non trovo la causa.....

    </tr>

  <tr class="text">

    <td><div align="left"></div></td>

    <td>&nbsp;</td>

  </tr>

  <tr class="text">

    <td>

      <div align="left">

        <input name="dbname" type="text" class="install" id="dbname" size="40" maxlength="100">

      </div></td>

    <td>$lang[2]</td>

  </tr>

  <tr class="text">

    <td>

      <div align="left">

        <input name="dbuser" type="text" class="install" id="dbuser" size="40" maxlength="100">

      </div></td>

    <td>$lang[0]</td>

  </tr>

  <tr class="text">

    <td>

      <div align="left">

        <input name="dbpass" type="text" class="install" id="dbpass" size="40" maxlength="100">

      </div></td>

    <td>$lang[1]</td>

  </tr>

  <tr class="text">

    <td>

      <div align="left">

        <input name="dbhost" type="text" class="install" id="dbhost" value="localhost"size="40" maxlength="100">

      </div></td>

    <td>$lang[8]</td>

  </tr>

  <tr class="text">

    <td>

      <div align="left">

        <input name="prefix" type="text" class="install" id="prefix" value="rvk_" size="40" maxlength="100">

      </div></td>

    <td>$lang[3]</td>

  </tr>

  <tr class="text">

    <td>&nbsp;</td>

    <td>&nbsp;</td>

  </tr>

  <tr class="text">

    <td>&nbsp;</td>

    <td><input type="submit" name="Submit" class="submit" value="$lang[5]"><br /></td><br />

  </tr>

  <br />

</table> 

</form>

il codice del form dove ci sono i campi è questo   ma nn trovo l'errore

risposto 11 anni fa
Andrea Turso
Andrea Turso
86
modificato 11 anni fa
X 0 X

i primi 4 errori ti avvisano che nell'array $_POST non si cono le chiavi dbname, dbuser, dbpass e dbhost. Fai un print_r($_POST) per vederecosa ti arriva dal form.

il quinto errore è causato da un errore di digitazione: bduser  al posto di dbuser

risposto 11 anni fa
Gianni Tomasicchio
X 0 X

beh Gianni sei un mito :o nn so come ringrassiarti! :-*

risposto 11 anni fa
Andrea Turso
Andrea Turso
86
modificato 11 anni fa
X 0 X

ok sono quasi alla fine q questa è la cosa più fastidiosa [scusa Gianni se nn apro un'altro topic] è il global che c'è dopo il controllo...in pratica dopo il controllo fa il redirect alla funzione query SOLO che il global $lang, $username, $email, $ip, $date, $passy, $sitename, $php_version; non fa niente mi trova solo le variabili $passy e $php_version il resto non lo printa e nn lo aggiunge nel database!

come devo fare? :idiot:

risposto 11 anni fa
Andrea Turso
Andrea Turso
86
X 0 X

cosa intendi per "fa il redirect alla funzione query"? Come fai questo redirect?

risposto 11 anni fa
Gianni Tomasicchio
X 0 X

in functions [require (../functions/functions.php) all'inizio del file] ho il redirect così:

<?php

/*

+--------------------------------------------------------------------------+

|   Revoke 1.0                                                       |

|   ========================================                               | 

|   author: Trashofmasters                                                 |

|   © dotdesign develop team                                               |

|   http://www.dotdesign.org                                               |

|   ========================================                        |

+--------------------------------------------------------------------------+

*/   

//+-----------------------------------------------------------

// Funzione per il redirect

//+-----------------------------------------------------------

//Questa funzione serve a reindirizzare gli utenti

//instantaneamente o dopo un certo numero di secondi ad una pagina prestabilita

//esempio di redirect:

// redirect(0, http://www.site.comredirect/page.php);

//+-----------------------------------------------------------

function redirect($time, $url)

{

echo "<meta http-equiv=\"Refresh\"content=\"$time; URL=$url\">";

exit();

}

?>

poi il redirect nella pagina lo faccio così : redirect('0','index.php?action=query');

solo che quando sono in query le variabili nn ci sono + anche se uso global e le richiamo tutte,mi trova solo $php_version e $passy

risposto 11 anni fa
Andrea Turso
Andrea Turso
86
X 0 X

Quando si va da una pagina ad un'atra tutte le variabili vengono perse. GLOBAL non serve a fartele resuscitare

Per passare delle variabili da uno script ad un'altro si usano diverse tecniche. Leggi questo articolo a proposito:

http://www.phpnews.it/content/view/216/80/

 :bye:

risposto 11 anni fa
Gianni Tomasicchio
X 0 X

ma nn è un'altra pagina! è sempre index.php solo che è in un'altra funzione quindi global dovrebbe andare,solo che nn so se con il redirect è =

risposto 11 anni fa
Andrea Turso
Andrea Turso
86
X 0 X

ma se hai messo tanto di exit nella funzione, come pensi possa essere lo stesso script?  ???

risposto 11 anni fa
Gianni Tomasicchio
X 0 X

mananggia alla mano  ;D oramai exit(); lo scrive da sola c'è l'ho nelle dita :uglystupid: ora vedo se funzia

risposto 11 anni fa
Andrea Turso
Andrea Turso
86
X 0 X

ma se lo togli le cose non cambiano mica  :-\

risposto 11 anni fa
Gianni Tomasicchio
X 0 X

ok mi sono accorto [COME UN'IDIOTA] che la password nn la passa ma fa il digest md5 di " " in pratica di nulla e lo mette nel db lool :idiot: :idiot: :idiot: ora devo vedere come prendere quelle variabili

risposto 11 anni fa
Andrea Turso
Andrea Turso
86
modificato 11 anni fa
X 0 X

si vede che quelle 2 variabili vengono inizializzate ad ogni esecuzione dello script  :dunno:

risposto 11 anni fa
Gianni Tomasicchio
X 0 X

no la pass è vuota solo che md5 la faceva criptata e nn sapevo da dove derivava cmq devo trovare la soluzione per prendere le variabili e riprenderle + avanti

risposto 11 anni fa
Andrea Turso
Andrea Turso
86
X 0 X

c'è l'ho fatta ho creato un file [nn so come farlo temporaneo o almeno eliminarlo con fopen]e lo includo nell'installer e funziona O0

risposto 11 anni fa
Andrea Turso
Andrea Turso
86
X 0 X

ok trovata anke la solzione per eliminarlo con  file_exists e unlink!

risposto 11 anni fa
Andrea Turso
Andrea Turso
86
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda