Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2009
    Messaggi
    118

    funzione di controllo e inserimento dati

    ciao ragazzi,

    come posso riscrivere questa funzione per renderla + pulita e leggibile,

    funziona tutto ma vorrei imparare a scrivere meglio il codice...
    codice:
    function ProcessForm($values){
        			 			
    $con = mysql_connect("localhost","lory","lory");
       if (!$con) {
         die('Could not connect: ' . mysql_error());
        }
    					
        mysql_select_db("quased", $con);
    							
        $sql = "SELECT * FROM cliente WHERE piva='$values[piva]'"; {
    				
           $res = mysql_query($sql, $con);
              if($row = mysql_fetch_array($res)){
    		echo "Attenzione azienda inserita esistente";
    	  }else{
    		$sql="INSERT INTO cliente (codcliente, piva) VALUES ('22','$values[piva]')";
    					
                     if (!mysql_query($sql,$con)) {
    			die('Error: ' . mysql_error());
      		 }else {
      			echo "<html><head><title>Thank you!</title></head><body>Thank you!</body></html>";
      			echo "<META HTTP-EQUIV=\"REFRESH\" CONTENT=\"5\"; URL=\"clienti.php\">";
       		 }
    
    	mysql_close($con);
            }
        }
    }
    grz, Lory

  2. #2
    Utente di HTML.it L'avatar di Grino
    Registrato dal
    Oct 2004
    Messaggi
    739
    Senza entrare nel merito, tanto di ciò che fa quanto di come lo fa (tipo perché la piva non è un campo univoco nel DB? perchè c'è sempre 22 come codice cliente?...), se mi fossi trovato a scrivere una cosa di questo tipo , avrei probabilmente scritto:

    Codice PHP:
    /**
     * Visualizzazione di una paginetta HTML di base con personalizzazione
     * del titolo, contenuto e possibilità di refresh a nuova pagina
     *
     * @param String $title Titolo della pagina
     * @param String $content Contenuto HTML della pagina
     * @param String $refreshTo URL a cui saltare dopo $numSec secondi
     * @param String $numSec Tempo di attesa prima del salto automatico in secondi
     */
    function ShowSimplePage($title,$content,$refreshTo=null$numSec=5){
        
    $refresh=(!is_null($refreshTo))?"<META HTTP-EQUIV=\"REFRESH\" CONTENT=\"$numSec\"; URL=\"$refreshTo\">":'';
        echo <<<EOD
            <html>
                <head>
                    <title>
    $title</title>
                    
    $refresh
                </head>
                <body>
                    <h1>
    $title</h1>
                    
    $content
                </body>
            </html>
    EOD;
    }

    /**
     * Procedura di visualizzazione errore ed interruzione dello script
     * @param string $content Contenuto della pagina
     * @param String $title Titolo della pagina 
     */
    function ShowError($content$title="Pagina di Errore!"){
        
    ShowSimplePage($title$content);
        exit();
    }

    function 
    ProcessForm($values) {
        
    //Inizializzazione varibili e connessione DB
        
    $title    "Insert Page";
        
    $content  "Thank you!";

        
    //Do per scontato che i $values siano stati assoggettati ad una mysql_real_escape_string()
        
    $sqlTrova "SELECT * FROM cliente WHERE piva='{$values['piva']}'";
        
    $sqlIns   "INSERT INTO cliente (codcliente, piva) VALUES ('22','{$values['piva']}')";

        
    $con      mysql_connect("localhost""lory""lory") or ShowError('Could not connect: ' mysql_error());
        
    mysql_select_db("quased"$con) or ShowError('Could not select DB: ' mysql_error());

        
    //Elaborazione
        
    $res mysql_query($sqlTrova$con) or ShowError('Error: ' mysql_error());
        if (!
    mysql_num_rows($res))  //Se la piva non è utilizzata
            
    mysql_query($sqlIns$con) or ShowError('Error: ' mysql_error());
        else
            
    $content "Attenzione azienda inserita esistente";

        
    ShowSimplePage($title$content"clienti.php");

        
    //Rilascio risorse
        
    mysql_close($con);

    Siamo sempre troppo gelosi delle nostre grandi piccole opere! - Grino inedito.
    Lavori e Lavoretti

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.