Foros del Web » Programando para Internet » PHP »

Script para form duda?

Estas en el tema de Script para form duda? en el foro de PHP en Foros del Web. Hola estimados, bajé un script en php para envío con formulario. Funciona bien pero me llega una parte de texto en inglés ejemplo: Telefono: name: ...
  #1 (permalink)  
Antiguo 11/05/2011, 17:11
Avatar de elsolodigno  
Fecha de Ingreso: agosto-2009
Mensajes: 225
Antigüedad: 14 años, 8 meses
Puntos: 2
Script para form duda?

Hola estimados, bajé un script en php para envío con formulario. Funciona bien pero me llega una parte de texto en inglés ejemplo:

Telefono:
name: Edu
email: [email protected]
message: esto es una prueba

y quisiera remplazar name, email y message por nombre, e-mail y mensaje respectivamente....

A continuación el código:

<?php

if(!$_POST) exit;

$email = $_POST['email'];


//$error[] = preg_match('/\b[A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b/i', $_POST['email']) ? '' : 'INVALID EMAIL ADDRESS';
if(!eregi("^[a-z0-9]+([_\\.-][a-z0-9]+)*" ."@"."([a-z0-9]+([\.-][a-z0-9]+)*)+"."\\.[a-z]{2,}"."$",$email )){
$error.="El e-mail ingresado es invalido";
$errors=1;
}
if($errors==1) echo $error;
else{
$values = array ('name','email','message');
$required = array('name','email','message');

$your_email = "[email protected]";
$cabeceras = "From: $email\r\nReply-To: $email\r\nReturn-Path: $email\r\n";
$email_subject = "Nuevo mensaje: ".$_POST['subject'];
$email_content = "Telefono: ".$_POST['company']."\n";

foreach($values as $key => $value){
if(in_array($value,$required)){
if ($key != 'subject' && $key != 'company') {
if( empty($_POST[$value]) ) { echo 'Por favor rellene los campos requeridos'; exit; }
}
$email_content .= $value.': '.$_POST[$value]."\n";
}
}

if(mail($your_email,$email_subject,$email_content, $cabeceras)) {
echo 'El mensaje ha sido enviado satisfactoriamente!';
} else {
echo 'ERROR!';
}
}
?>

Es un problema de arrays?. Gracias por guiarme!. Saludos!
  #2 (permalink)  
Antiguo 11/05/2011, 19:41
 
Fecha de Ingreso: agosto-2009
Ubicación: Cartagena, Colombia
Mensajes: 516
Antigüedad: 14 años, 8 meses
Puntos: 13
Respuesta: Script para form duda?

edita esta parte:
Código PHP:
Ver original
  1. $values = array ('name','email','message');
  2. $required = array('name','email','message');
__________________
Un camino de mil millas comienza por el primer paso. Lao Tse
  #3 (permalink)  
Antiguo 11/05/2011, 20:54
Avatar de elsolodigno  
Fecha de Ingreso: agosto-2009
Mensajes: 225
Antigüedad: 14 años, 8 meses
Puntos: 2
Respuesta: Script para form duda?

Cita:
Iniciado por mhax Ver Mensaje
edita esta parte:
Código PHP:
Ver original
  1. $values = array ('name','email','message');
  2. $required = array('name','email','message');
Hola mhax, es lo que hice pero así no llega nada...

Probé de varias maneras como por ejemplo:

$values = array ('nombre','email','mensaje');
$required = array('name','email','message');

y más pero no hay caso, cuando edito eso el correo me llega en blanco directamente salvo el subjet...

Gracias de nuevo!.
  #4 (permalink)  
Antiguo 11/05/2011, 20:58
Avatar de Sourcegeek
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: $mex['B.C.'];
Mensajes: 1.816
Antigüedad: 15 años
Puntos: 322
Respuesta: Script para form duda?

Es tan dificil hacer esto?
Código PHP:
<?php

if(!$_POST) exit;

$email $_POST['email'];


//$error[] = preg_match('/\b[A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b/i', $_POST['email']) ? '' : 'INVALID EMAIL ADDRESS';
if(!eregi("^[a-z0-9]+([_\\.-][a-z0-9]+)*" ."@"."([a-z0-9]+([\.-][a-z0-9]+)*)+"."\\.[a-z]{2,}"."$",$email )){
$error.="El e-mail ingresado es invalido";
$errors=1;
}
if(
$errors==1) echo $error;
else{

$your_email "[email protected]";
$cabeceras "From: $email\r\nReply-To: $email\r\nReturn-Path: $email\r\n";
$email_subject "Nuevo mensaje: ".$_POST['subject'];
$email_content "Telefono: ".$_POST['company']."\n";

$email_content .= "Nombre: {$_POST['name']}\n";
$email_content .= "Email: {$_POST['email']}\n";
$email_content .= "Mensaje: {$_POST['message']}\n";

if(
mail($your_email,$email_subject,$email_content$cabeceras)) {
echo 
'El mensaje ha sido enviado satisfactoriamente!';
} else {
echo 
'ERROR!';
}
}
?>
Cuestión de sentido común y saber lo básico de PHP. Ahora entiendo por qué bajaste el script
__________________
Buscas desarrollador web? Sourcegeek. Diseño web, Maquetación y Programación
¡Escribe bien! Esto es un foro, no un Facebook para que escribas con los pies
  #5 (permalink)  
Antiguo 11/05/2011, 21:11
Avatar de elsolodigno  
Fecha de Ingreso: agosto-2009
Mensajes: 225
Antigüedad: 14 años, 8 meses
Puntos: 2
Respuesta: Script para form duda?

Tienes razón, pero la verdad a mi me cuesta un poco bastante entender. Había pensado esa opción pero así evito los campos requeridos.

También probé con lo que me pasaste primero:

$values = array ('nombre','email','mensaje');
$required = array('nombre','email','mensaje');

pero ahí si me daba el mensaje de: Por favor rellene los campos requeridos

De todas maneras te agradezco, seguiré probando.
  #6 (permalink)  
Antiguo 11/05/2011, 21:15
Avatar de Sourcegeek
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: $mex['B.C.'];
Mensajes: 1.816
Antigüedad: 15 años
Puntos: 322
Respuesta: Script para form duda?

Ahora que sabes el nombre de cada campo ($_POST['campo']), usa condiciones para ver si un campo está vacío. Ejemplo:

Código PHP:
if (empty($_POST['campo1']) || empty($_POST['campo2'])) {
   
//Uno o mas campos vacios

__________________
Buscas desarrollador web? Sourcegeek. Diseño web, Maquetación y Programación
¡Escribe bien! Esto es un foro, no un Facebook para que escribas con los pies
  #7 (permalink)  
Antiguo 12/05/2011, 14:21
Avatar de elsolodigno  
Fecha de Ingreso: agosto-2009
Mensajes: 225
Antigüedad: 14 años, 8 meses
Puntos: 2
Respuesta: Script para form duda?

Cita:
Iniciado por Sourcegeek Ver Mensaje
Ahora que sabes el nombre de cada campo ($_POST['campo']), usa condiciones para ver si un campo está vacío. Ejemplo:

Código PHP:
if (empty($_POST['campo1']) || empty($_POST['campo2'])) {
   
//Uno o mas campos vacios

Ahora Sí, muchas gracias Sourcegeek!

Etiquetas: formulario
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 09:40.