Comment appeller une class en PHP ?

Comment appeller une class en PHP ? - PHP - Programmation

Marsh Posté le 27-02-2003 à 14:49:56    

Salut j'ai trouvé un script php qui verifi la validité d'un email mais le probleme est que ce script est une class et que je ne c pas comment la fair fonctionner ?
A savoir que dans mon formulaire l'email est envoyé sous la variable $email .
 
Voici le script :  


<?
/*
 * email_validation.php
 *
 * @(#) $Header: /home/mlemos/cvsroot/PHPlibrary/email_validation.php,v 1.18 2002/09/06 01:05:52 mlemos Exp $
 *
 */
 
class email_validation_class
{
 var $email_regular_expression="^([-!#\$%&'*+./0-9=?A-Z^_`a-z{|}~?])+@([-!#\$%&'*+/0-9=?A-Z^_`a-z{|}~?]+\\.)+[a-zA-Z]{2,6}\$";
 var $timeout=0;
 var $localhost="";
 var $localuser="";
 var $debug=0;
 var $html_debug=0;
 var $exclude_address="";
 var $getmxrr="GetMXRR";
 
 var $next_token="";
 
 Function Tokenize($string,$separator="" )
 {
  if(!strcmp($separator,"" ))
  {
   $separator=$string;
   $string=$this->next_token;
  }
  for($character=0;$character<strlen($separator);$character++)
  {
   if(GetType($position=strpos($string,$separator[$character]))=="integer" )
    $found=(IsSet($found) ? min($found,$position) : $position);
  }
  if(IsSet($found))
  {
   $this->next_token=substr($string,$found+1);
   return(substr($string,0,$found));
  }
  else
  {
   $this->next_token="";
   return($string);
  }
 }
 
 Function OutputDebug($message)
 {
  $message.="\n";
  if($this->html_debug)
   $message=str_replace("\n","<br />\n",HtmlEntities($message));
  echo $message;
  flush();
 }
 
 Function GetLine($connection)
 {
  for($line="";;)
  {
   if(feof($connection))
    return(0);
   $line.=fgets($connection,100);
   $length=strlen($line);
   if($length>=2
   && substr($line,$length-2,2)=="\r\n" )
   {
    $line=substr($line,0,$length-2);
    if($this->debug)
     $this->OutputDebug("S $line" );
    return($line);
   }
  }
 }
 
 Function PutLine($connection,$line)
 {
  if($this->debug)
   $this->OutputDebug("C $line" );
  return(fputs($connection,"$line\r\n" ));
 }
 
 Function ValidateEmailAddress($email)
 {
  return(eregi($this->email_regular_expression,$email)!=0);
 }
 
 Function ValidateEmailHost($email,&$hosts)
 {
  if(!$this->ValidateEmailAddress($email))
   return(0);
  $user=$this->Tokenize($email,"@" );
  $domain=$this->Tokenize("" );
  $hosts=$weights=array();
  $getmxrr=$this->getmxrr;
  if(function_exists($getmxrr)
  && $getmxrr($domain,$hosts,$weights))
  {
   $mxhosts=array();
   for($host=0;$host<count($hosts);$host++)
    $mxhosts[$weights[$host]]=$hosts[$host];
   KSort($mxhosts);
   for(Reset($mxhosts),$host=0;$host<count($mxhosts);Next($mxhosts),$host++)
    $hosts[$host]=$mxhosts[Key($mxhosts)];
  }
  else
  {
   if(strcmp($ip=@gethostbyname($domain),$domain)
   && (strlen($this->exclude_address)==0
   || strcmp(@gethostbyname($this->exclude_address),$ip)))
    $hosts[]=$domain;
  }
  return(count($hosts)!=0);
 }
 
 Function VerifyResultLines($connection,$code)
 {
  while(($line=$this->GetLine($connection)))
  {
   if(!strcmp($this->Tokenize($line," " ),$code))
    return(1);
   if(strcmp($this->Tokenize($line,"-" ),$code))
    return(0);
  }
  return(-1);
 }
 
 Function ValidateEmailBox($email)
 {
  if(!$this->ValidateEmailHost($email,$hosts))
   return(0);
  if(!strcmp($localhost=$this->localhost,"" )
  && !strcmp($localhost=getenv("SERVER_NAME" ),"" )
  && !strcmp($localhost=getenv("HOST" ),"" ))
     $localhost="localhost";
  if(!strcmp($localuser=$this->localuser,"" )
  && !strcmp($localuser=getenv("USERNAME" ),"" )
  && !strcmp($localuser=getenv("USER" ),"" ))
     $localuser="root";
  for($host=0;$host<count($hosts);$host++)
  {
   $domain=$hosts[$host];
   if(ereg('^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$',$domain))
    $ip=$domain;
   else
   {
    if($this->debug)
     $this->OutputDebug("Resolving host name \"".$hosts[$host]."\"..." );
    if(!strcmp($ip=@gethostbyname($domain),$domain))
    {
     $this->OutputDebug("Could not resolve host name \"".$hosts[$host]."\"." );
     continue;
    }
   }
   if(strlen($this->exclude_address)
   && !strcmp(@gethostbyname($this->exclude_address),$ip))
   {
    $this->OutputDebug("Host address of \"".$hosts[$host]."\" is the exclude address" );
    continue;
   }
   if($this->debug)
    $this->OutputDebug("Connecting to host address \"".$ip."\"..." );
   if(($connection=($this->timeout ? @fsockopen($ip,25,$errno,$error,$this->timeout) : @fsockopen($ip,25))))
   {
    if($this->debug)
     $this->OutputDebug("Connected." );
    if($this->VerifyResultLines($connection,"220" )>0
    && $this->PutLine($connection,"HELO $localhost" )
    && $this->VerifyResultLines($connection,"250" )>0
    && $this->PutLine($connection,"MAIL FROM: <$localuser@$localhost>" )
    && $this->VerifyResultLines($connection,"250" )>0
    && $this->PutLine($connection,"RCPT TO: <$email>" )
    && ($result=$this->VerifyResultLines($connection,"250" ))>=0)
    {
     if($this->debug)
      $this->OutputDebug("This host states that the address is ".($result ? "" : "not " )."valid." );
     fclose($connection);
     if($this->debug)
      $this->OutputDebug("Disconnected." );
     return($result);
    }
    if($this->debug)
     $this->OutputDebug("Unable to validate the address with this host." );
    fclose($connection);
    if($this->debug)
     $this->OutputDebug("Disconnected." );
   }
   else
   {
    if($this->debug)
     $this->OutputDebug("Failed." );
   }
  }
  return(-1);
 }
};
 
?>

Reply

Marsh Posté le 27-02-2003 à 14:49:56   

Reply

Marsh Posté le 27-02-2003 à 15:51:49    

Personne ne c comment utiliser ce truc ?

Reply

Marsh Posté le 27-02-2003 à 16:15:14    

RTFM: http://www.php.net/manual/en/language.oop.php


---------------
Don't blink. Don't even blink. Blink and you're dead. They are fast, faster than you could believe, don't turn your back, don't look away, and DON'T BLINK. Good luck.
Reply

Marsh Posté le 27-02-2003 à 16:26:26    


 
 
Merci mais avant de venir poster javais deja regardé sur php.net mais je n'ai toujours pas compris.

Reply

Marsh Posté le 27-02-2003 à 16:28:39    

benwar a écrit :


Merci mais avant de venir poster javais deja regardé sur php.net mais je n'ai toujours pas compris.


$variable = new classe($param1, $param2, ...);
$variable->fonction1(...);
 
C'est tout con [:spamafote]


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
Reply

Marsh Posté le 27-02-2003 à 16:45:09    

Taiche a écrit :


$variable = new classe($param1, $param2, ...);
$variable->fonction1(...);
 
C'est tout con [:spamafote]


 
 
désolé mais moi tu c appart  
 
 
<?php
 
$toto = "9";
$tata = "6";
 
if ($toto>$tata)
{  
echo "toto est plus grand que tata";
}
elseif($toto<$tata)
{
echo "toto est plus petit que tata";
}
elseif($toto=$tata)
{
echo "sont egal";
}
 
?>
 
la je suis o max de mes capacité de code! !!
 
 
Alors juste un peux plus d'infos svp ,,?

Reply

Marsh Posté le 27-02-2003 à 17:00:09    

Taiche a écrit :


$variable = new classe($param1, $param2, ...);
$variable->fonction1(...);
 
C'est tout con [:spamafote]


 
arf, pas mal mais tu la embrouillé avec tes $param je pense.. nan?
 
par exemple :

Code :
  1. $email = "ce que tu veux";
  2. //tu declares $variable comme une classe "email_validation_class"
  3. $variable = new email_validation_class;
  4. //et la tu peux utiliser les fonctions de la classe grace à "->"
  5. $variable->ValidateEmailBox($email);


 
çai dur d'expliquer le fonctionnement des classes..  :sweat:


---------------
yvele n'est plus.
Reply

Marsh Posté le 27-02-2003 à 17:02:10    

Mr yvele a écrit :


 
arf, pas mal mais tu la embrouillé avec tes $param je pense.. nan?
 
par exemple :

Code :
  1. $email = "ce que tu veux";
  2. //tu declares $variable comme une classe "email_validation_class"
  3. $variable = new email_validation_class;
  4. //et la tu peux utiliser les fonctions de la classe grace à "->"
  5. $variable->ValidateEmailBox($email);


 
çai dur d'expliquer le fonctionnement des classes..  :sweat:  


 
Merci tu as ete super clair car le new machin puis -> moi je ne connaissais pas ; maintenant je v me mettre au taff pour vraiment bien comprendre.
 
merci

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed