Controllo campi di un form php

  • Creatore Discussione Creatore Discussione zioweb
  • Data di inizio Data di inizio

zioweb

Utente Attivo
9 Ago 2010
34
2
8
Buongiorno a tutti, scusate ma avrei bisogno di un aiuto.
sul sito che gestisco ho un form di inserimento vendo/compro dove avrei bisogno di eseguire un controllo sui campi, inseriti ma non so come fare ; di seguito il codice interessato:

....
.......

PHP:
function sendannounce ( )
    {      
        
        $buysell = $this->fmsystem->tools->makeOptions ( array ( 'Vendo' => 0, 'Compro' => 1 ), 'buysell', 0 ) ;
        
        $errors = '' ;
        
        if ( isset ( $this->fmsystem->input['CODE'] ) && $this->fmsystem->input['CODE'] == 1 && $_SERVER['REQUEST_METHOD'] == 'POST' )
        {
            if ( ! $errors )
            {
                $this->fmsystem->DB->doinsert ( 'mercatino', array 
                ( 
                    'type' => $this->fmsystem->input['buysell'],
                    'object' => $this->fmsystem->input['object'],
					'price' => $this->fmsystem->input['price'],
                    'name' => $this->fmsystem->input['price'],
                    'phone' => $this->fmsystem->input['phone'],
                    'mail' => $this->fmsystem->input['email'],
					'localita' => $this->fmsystem->input['localita'],
                    'postdata' => time ( ),
                    'approved' => 0
                ) ) ;
				 						 
		 if ( $this->fmsystem->input['email'] != '' OR $this->fmsystem->input['phone'] != "0" ) 
		  {		
		  $this->fmsystem->tools->makeRedirect ( 'Inserzione inviata con successo', 'index.php?' . $this->fmsystem->tools->get_url_addons ( ) ) ;
          }  
			}
        }
        
        $contents = '<h1>Invia annuncio per il mercatino</h1>' ;
        $contents .= '<form method="post" action="index.php?' . $this->fmsystem->tools->get_url_addons ( ) . 'm=sendannounce&amp;CODE=1">
                      <div class="formh">Regole</div>
                      <div class="formrow">1) Per l\'inserimento degli annunci di compravendita barchette e/o accessori &egrave; obbligatorio compilare questo form<br /><br />
                      2) Non saranno accettati annunci non mandati tramite form<br /><br />
                      3) Non saranno accettati annunci SCRITTI IN MAIUSCOLO, se non ove richiesto dalle regole di grammatica<br /><br />
                      4) Si accettano SOLO annunci privati con telefono e/o email<br /><br />
					  5) Gli annunci saranno pubblicati PREVIO CONTROLLO DEL WEBMASTER, non saranno quindi on-line immediatamente<br /><br />
					  6) A compravendita avvenuta siete pregati di scrivere al <a href="mailto:xxx@xxx.it"><u>Webmaster</u></a> per la rimozione dell\'annuncio specificando il numero di riferimento<br /><br />
                      7) Le inserzioni verranno, in ogni caso, eliminate annualmente il 31/12.
					  <div class="formh">Dati inserzione</div>
                      <div class="formtitle">Azione</div><div class="formrow"><span class="formchoise">' . $buysell . '</span></div>
                      <div class="formtitle">Oggetto</div><div class="formrow"><textarea style="width:400px;height:180px;" name="object"></textarea></div>
                      <div class="formtitle">Prezzo Richiesto</div><div class="formrow"><input type="text" name="price" value="" /></div>
                      <div class="formtitle">Telefono</div><div class="formrow"><input type="text" name="phone" value="" /></div>
                      <div class="formtitle">Email</div><div class="formrow"><input type="text" name="email" value="" /></div>
                      <div class="formtitle">Localit&agrave;</div><div class="formrow"><input type="text" name="localita" value="" /></div>
                      <div class="formtitle">Invia</div><div class="formrow"><input type="submit" value="Invia inserzione" /></div>
                      </form>' ;
        
        return $contents ;
    }
}
?>

siccome così come è può arrivare anche un annuncio co tutti blank nei campi, per non dire altro, potete fornirmi un esempio almeno di controllo su descrizione ed email ?
Ad esempio vorrei evitare che nella descrizione comparissero link a siti "http://" e magari la email poter eliminare alcune che già so che sono spamming....
Vi ringrazio
Zioweb....
 
Ultima modifica di un moderatore:
Ciao zioweb,

potresti usare la funzione eregi_replace

Esempio

PHP:
$Descrizione="Visitate il mio sito http://www.google.it"; 

//Sostituisco "http://" con "****" 
$Descrizione=eregi_replace("http://", "****", $Descrizione);
 
scusa forse non mi sono spiegato ben... vorrei mettere un controllo sul campo in modo che non accetti proprio tutto il campo se all'interno compaiono riferimenti a "http://"
 
PHP:
<?php

$stringa1 = "Benvenuto su Mr Webmaster e la mia email e pippo@gmail.com";

$parole_proibite = array("gmail","@",".com");

foreach($parole_proibite as $parola)

{

   if(stripos($stringa1, $parola) !== false)

   {

      echo "La parola $parola non è ammessa";
	  die;

   }

}

?>
 

Discussioni simili