Foros del Web » Programando para Internet » PHP »

problema con php form mail

Estas en el tema de problema con php form mail en el foro de PHP en Foros del Web. amigos resulta que mi host migro de php4 a php5 y ahora mi php formail no funka no entiendo por que aqui le sdejo el ...
  #1 (permalink)  
Antiguo 08/05/2008, 11:29
Avatar de milerweb  
Fecha de Ingreso: enero-2008
Ubicación: Lima peru
Mensajes: 81
Antigüedad: 16 años, 3 meses
Puntos: 1
problema con php form mail

amigos resulta que mi host migro de php4 a php5 y ahora mi php formail no funka no entiendo por que aqui le sdejo el code para que vean por que el errror .

Código PHP:
<?PHP

#############################################################################
#                                                        PHPFormMail v0.02b #
# PHPFormMail - Something we've allways had...                              #
# Copyright (c) 1999 Andrew Riley ([email protected])                      #
#                                                                           #
# This program is free software; you can redistribute it and/or             #
# modify it under the terms of the GNU General Public License               #
# as published by the Free Software Foundation; either version 2            #
# of the License, or (at your option) any later version.                    #
#                                                                           #
# This program is distributed in the hope that it will be useful,           #
# but WITHOUT ANY WARRANTY; without even the implied warranty of            #
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the             #
# GNU General Public License for more details.                              #
#                                                                           #
# You should have received a copy of the GNU General Public License         #
# along with this program; if not, write to the Free Software               #
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,    #
# USA.                                                                      #
#                                                                           #
#############################################################################
#                                                                           #
# If you run into any problems, pleas read the readme_formmail.txt.         #
# If that does not help, check out http://www.boaddrink.com.                #
#                                                                           #
# For more info, please visit http://www.boaddrink.com or read the readme   #
# file included.                                                            #
#############################################################################

# $referers allows forms to be located only on servers which are defined     #
# in this field.                                                             #

//$recipient ="[email protected]";
$recipient ="[email protected]";
//$recipient ="[email protected]";
$referers = array("www.hos1.com","host2.com","host3.com");

#############################################################################

$interiberica_email "[email protected]";
$interiberica_nombre "nombrede mi pagina";


$errors = array();
$invis_array = array("recipient","subject","required","redirect",
                     
"print_blank_fields","env_report",
                     
"missing_fields_redirect","title","bgcolor",
                     
"text_color","link_color","alink_color",
                     
"vlink_color","background","subject","title",
                     
"link","css","return_link_title",
                     
"return_link_url");

/*function in_array($needle,$haystack){                   //remove for PHP4.0... it"s not in 3
  $found = false;
  while (list($key,$val) = each ($haystack)){
    if ($needle == $val){
      $found = true;
    }
  }
  return $found;
}*/

function fill_data(&$from,$to,$tag=""){
  
$temp $from;
  if(!
$from){
    
$temp $to;
  }
  if(
$tag){
    
$temp " ".$tag."=\"".$temp."\"";
  }
  
$from $temp;
}

function 
check_referer($referers){
  if (
count($referers)){
    global 
$errors;
    
$found false;
    
$temp explode("/",getenv("HTTP_REFERER"));
    
$referer $temp[2];
    for (
$x=0$x count($referers); $x++){
      if (
$referers[$x] == $referer){
        
$found true;
      }
    }
    if (!
$found){
      
$errors[] = "Usted procede de un dominio sin autorizacion.";
      
error_log("[PHPFormMail] Illegal Referer. (".getenv("HTTP_REFERER").")"0); 
    }
    return 
$found;
  } else {
    return 
true//Not a good idea, if empty, it will allow it.
  
}
}

function 
decode_vars(){
  global 
$HTTP_POST_VARS;
  global 
$HTTP_GET_VARS;
  if (
getenv("REQUEST_METHOD") == "GET"){
    
$a $HTTP_GET_VARS;
  } else {
    
$a $HTTP_POST_VARS;
  }
  return 
$a;
}

function 
strip_bad_stuff($data){
  while(list(
$key,$val) = each ($data)){
    if (
$val){
      
$temp $val;
      
$data[$key] = eregi_replace("<!--(.|\n)*-->","[SSI REMOVED]",$val);
      if (
$temp != $data[$key]){
        
error_log("[PHPFormMail] SSI Found and Removed. (".getenv("REMOTE_ADDR").")"0); 
      }
    }
  }
  return 
$data;
}

function 
error($errors){
  global 
$form;
  if (
$errors){
    if (
$form["missing_fields_redirect"]){
      
Header(  "Localizacion: ".$form["missing_fields_redirect"]);
    } else {
      print 
"<HTML>\n<HEAD>\n";
      print 
"<TITLE>Error</TITLE>\n";
      if(
$form["css"]){
        print 
"<link rel=\"stylesheet\" href=\"".$form["css"]."\">\n";
      }
      print 
"</HEAD>\n\n";
      print 
"<BODY".$form["bgcolor"].$form["text_color"].$form["link_color"].$form["alink_color"].$form["vlink_color"].$form["background"]."\">\n";
      print 
"<H2>Se encontraron los siguientes errores:</H2><BR>\n";
      while (list(
$key,$val) = each ($errors)) {
        print 
$val "<BR>\n";
      }
      print 
"<BR>Por favor use el bot&oacute;n <a href=\"javascript: history.back();\">atras</a> para corregir estos errores.<BR>\n";
      print 
"</BODY>\n</HTML>";
    }
  }
}

function 
check_required($form){
  global 
$errors;
  
$problem true;
  if (
$form["required"]){
    
$splitstring split(",",$form["required"]);
    for(
$x=0$x count($splitstring); $x++){
      if (!
$form[$splitstring[$x]]) {
        
$problem false;
        
$errors[] = "El valor requerido (<b>" $splitstring[$x] . "</b>) no se ha completado.";
      }
    }
  }
  return 
$problem;
}

function 
send_mail($form,$invis_array){
global 
$recipient;
  
$mailbody "\nA continuación se muestran los datos que el usuario ha proporcionado desde su web.\nEste mensaje fue enviado por\n";
  
$mailbody.= $form["Nombre"]. " (" .$form["email"].") on " date("F dS, Y") ."\n\n";

     while (list(
$key,$val) = each ($form)){
       if (!
in_array($key,$invis_array)){
         if ((
$form["print_blank_fields"]) || ($val)){
           
$mailbody .= $key.": "$val ."\n";
         }
       }
     }
     
     if (
$form["env_report"]){
       
$mailbody .= "\n\n-------- Otros datos de interés obtenidos --------\n";
       
$mailbody .= "HOST REMOTO: ".getenv("REMOTE_HOST")."\n";
       
$mailbody .= "DIRECCION REMOTA: ".getenv("REMOTE_ADDR")."\n";
       
$mailbody .= "USUARIO REMOTO: ".getenv("REMOTE_USER")."\n";
       
$mailbody .= "USUARIO HTTP: ".getenv("HTTP_USER_AGENT")."\n";
   
$mailbody .= "\n\n------      Servicio ofrecido por           -------\n";
       
$mailbody .= "-------- http://www.mipagina.com   ------------\n";
       
$mailbody .= "---------- Ingenieria Informatica  ----------------\n";
     }

$cabeceras 'From: [email protected] (miweb)' "\r\n" .
   
'Reply-To: [email protected] (miweb)' "\r\n" .
   
'X-Mailer: PHP/' phpversion();

      
mail($recipient$form["subject"],$mailbody$cabeceras);      
}

$form strip_bad_stuff(decode_vars());
fill_data($form["bgcolor"],"#FFFFFF","bgcolor");
fill_data($form["text_color"],"#000000","text");
fill_data($form["link_color"],"#0000FF","link");
fill_data($form["alink_color"],"#FF0000","alink");
fill_data($form["vlink_color"],"#000099","vlink");
fill_data($form["background"],"","background");

if(
check_referer($referers) && check_required($form)){
  
fill_data($form["subject"],"WWW Form Submission");
  
fill_data($form["email"],"[email protected]");
  
fill_data($form["Nombre"],"Cliente desconocido");
  
fill_data($form["title"],"Form Results");
    
  
send_mail($form,$invis_array);
    
  if (
$form["redirect"]){
    
Header("Location: ".$form["redirect"]);
  } else {
    print 
"<HTML>\n<HEAD>\n";
    print 
"<TITLE>".$form["title"]."</TITLE>\n";
    if(
$form["css"]){
      print 
"<link rel=\"stylesheet\" href=\"".$form["css"]."\">\n";
    }
    print 
"</HEAD>\n\n";
    print 
"<BODY".$form["bgcolor"].$form["text_color"].$form["link_color"].$form["alink_color"].$form["vlink_color"].$form["background"]."\">\n";
    print 
"<H2>La información que se muestra a continuaci&oacute;n le ha sido enviada:</H2><BR>\n";
    while (list(
$key,$val) = each ($form)) {
      if (!
in_array($key,$invis_array)){
        print 
"<b>".$key .":</b> ".$val "<BR>\n";
      }
    }
    if(
$form["return_link_url"] && $form["return_link_title"]){
      print 
"<BR><a href=\"".$form["return_link_url"]."\">".$form["return_link_title"]."</a>\n";
    }
    print 
"<center><a href=\"http://www.mipagina.com\">mipagina</a><br>Ingenier&iacute;a Inform&aacute;tica</center>\n";
    print 
"</BODY>\n</HTML>";
  }
}

error($errors);
?>
ya he probado reeemplazando el http_post_vars por $_post igual con el http_get_vars pero nada no funca sigue emviando valor vacio.
  #2 (permalink)  
Antiguo 08/05/2008, 11:35
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Re: problema con php form mail

getenv()/decode_vars() ((me parecen conflictivos)) lo demas parece bien...
  #3 (permalink)  
Antiguo 08/05/2008, 11:40
Avatar de milerweb  
Fecha de Ingreso: enero-2008
Ubicación: Lima peru
Mensajes: 81
Antigüedad: 16 años, 3 meses
Puntos: 1
Re: problema con php form mail

Cita:
Iniciado por pateketrueke Ver Mensaje
getenv()/decode_vars() ((me parecen conflictivos)) lo demas parece bien...
si pero cual seria la solucion quitar el getevent() y el decode var esta ya con $_GET y$_post
  #4 (permalink)  
Antiguo 08/05/2008, 12:09
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Re: problema con php form mail

en ves de usar la funcion getenv('variable') ((ya ke usas valores SERVER)) reemplaza cada:

getenv('FOO') por su respectivo $_ENV['FOO'], y si aun no... $_SERVER['FOO']
  #5 (permalink)  
Antiguo 08/05/2008, 13:01
Avatar de milerweb  
Fecha de Ingreso: enero-2008
Ubicación: Lima peru
Mensajes: 81
Antigüedad: 16 años, 3 meses
Puntos: 1
Re: problema con php form mail

Cita:
Iniciado por pateketrueke Ver Mensaje
en ves de usar la funcion getenv('variable') ((ya ke usas valores SERVER)) reemplaza cada:

getenv('FOO') por su respectivo $_ENV['FOO'], y si aun no... $_SERVER['FOO']
nada man hice lo que dices pero nada no funka
  #6 (permalink)  
Antiguo 08/05/2008, 13:22
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Re: problema con php form mail

weno... voy a copiar la clase, y la voy a ejecutar/analizar... luego les cuento
  #7 (permalink)  
Antiguo 08/05/2008, 14:04
Avatar de milerweb  
Fecha de Ingreso: enero-2008
Ubicación: Lima peru
Mensajes: 81
Antigüedad: 16 años, 3 meses
Puntos: 1
Re: problema con php form mail

Cita:
Iniciado por pateketrueke Ver Mensaje
weno... voy a copiar la clase, y la voy a ejecutar/analizar... luego les cuento
ok varon espero noticioas
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:19.