Foros del Web » Programando para Internet » PHP »

Problema con PHP

Estas en el tema de Problema con PHP en el foro de PHP en Foros del Web. Hola a todos, tengo un pequeño problemita con este formulario en php... No se que hay de malo, a ver si alguien me puede echar ...
  #1 (permalink)  
Antiguo 02/06/2005, 20:21
 
Fecha de Ingreso: abril-2005
Mensajes: 8
Antigüedad: 12 años, 8 meses
Puntos: 0
Problema con PHP

Hola a todos, tengo un pequeño problemita con este formulario en php...

No se que hay de malo, a ver si alguien me puede echar una mano con esto...
Pruebenlo y se daran cuenta del error
Gracias.

<?


$recipient_array = array();

$this_script = "emailform.php";

$subject_array = array();
$recipient_array= "[email protected]";

if ($_POST["send"] == "true") {
$to = $_POST["to"];
$name = $_POST["name"];
$email = $_POST["email"];
$the_subject = $_POST["subject"];
$message = $_POST["message"];
if (($name == "") OR ($email == "")) {
print ("<div id=\"sectionContent\">");
print ("<font color=\"red\">Alguno de tus campos se encuantra en blanco, por favor intenta de nueva.</font><br><br>");
print ("</div><br>");
email_form();
} elseif (ereg("([[:alnum:]\.\-]+)(\@[[:alnum:]\.\-]+\.+)", $email)) {
$recipient = $to;
$subject = $the_subject;
$additional_headers = ("From: $email\n");
$body = ("Name: $name\nEmail: $email\n\nMessage:\n\n" . $message);
if (mail($recipient, $subject, $body, $additional_headers)) {
print ("<div id=\"sectionContent\">");
print ("Tu informacion ha sido registrada y enviada a $recipient.<br><br>");
print ("</div><br>");
} else {
print ("<div id=\"sectionContent\">");
print ("<font color=\"red\">Uh-Oh! Something went wrong with the script! Please try again.</font><br><br>");
print ("</div><br>");
$send = "false";
email_form();
}
} else {
print ("<div id=\"sectionContent\">");
print ("<font color=\"red\">Tu direccion de Email parece invalida, por favor intenta de nuevo.</font><br><br>");
print ("</div><br>");
$send = "false";
email_form();
}
} else {
print ("<div id=\"sectionContent\">");
print ("Introduce tus datos, todos los datos son requeridos.");
print ("</div>");
email_form();
}

function email_form()
{
global $subject_array, $recipient_array, $this_script, $PHP_SELF;

print ("<div id=\"sectionContent\">");
print ("<form METHOD=POST action=\"$PHP_SELF\">\n");
print ("<input type=\"hidden\" name=\"send\" value=\"true\">\n");
{
print ("<option value=\"" . $value . "\">" . $key . "</option>\n");
}
print ("</select><br><br>\n");
print ("Nombre:<br><input type=\"text\" name=\"name\"><br><br>\n");
print ("E-Mail:<br>\n");
print ("<input type=\"text\" name=\"email\" size=\"40\"><br><br>\n");
foreach ($subject_array as $value2) {
print ("<option value=\"" . $value2 . "\">" . $value2 . "</option>\n");
}
print ("</select><br><br>\n");

print ("<input type=\"submit\" value=\"Enviar\">&nbsp;&nbsp;\n");
print ("<input type=\"reset\" value=\"Limpiar\">\n");
print ("</form>\n");
print ("</div>");
}
?>
  #2 (permalink)  
Antiguo 02/06/2005, 21:13
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 13 años, 4 meses
Puntos: 101
Cita:
Iniciado por Ciudadnocturna
No se que hay de malo, a ver si alguien me puede echar una mano con esto...
Pruebenlo y se daran cuenta del error
Ayudanos a ayudarte...
1) Procura iluminar tu código... para poder leerlo mejor
2) Se descriptiva con tu problema. ¿algún comportamiento indevido?, ¿algún mensaje de erro?? ¿cuál (exáctamente)? ¿cuál es la línea implricada?
3) Especififica qué quieres hacer y qué haz intentado...

La ayuda se te ofrecerá en medida que dez recursos para poder ayudarte. Fácilitas la tarea si sigues las recomendaciones que te hice con anterioridad; es más fácil y rápido que espeficiques el problema a adaptar un código para verlo... además de que algunos (como yo) no tenemos las herramientas a la mano para poder ejecutar PHP (estoy en la escuela, no está instalado).

Por tu beneficio...

Saludos!
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #3 (permalink)  
Antiguo 03/06/2005, 15:23
 
Fecha de Ingreso: abril-2005
Mensajes: 8
Antigüedad: 12 años, 8 meses
Puntos: 0
Aqui esta...

Ok, lo que quiero es enviar los datos de este formulario a mi correo, en principio funcionaba, pero le elimine unos campos del formulario, pero me da un error el cual no se cual es.

Pueden verificarlo en el el siguiente link click aqui

Creo que el error esta en los cod. que coloque en negritas.


<?


$recipient_array = array();

$this_script = "emailform.php";

$subject_array = array();
$recipient_array= "[email protected]";

if ($_POST["send"] == "true") {
$to = $_POST["to"];
$name = $_POST["name"];
$email = $_POST["email"];
$the_subject = $_POST["subject"];
$message = $_POST["message"];
if (($name == "") OR ($email == "")) {
print ("<div id=\"sectionContent\">");
print ("<font color=\"red\">Alguno de tus campos se encuantra en blanco, por favor intenta de nueva.</font><br><br>");
print ("</div><br>");
email_form();
} elseif (ereg("([[:alnum:]\.\-]+)(\@[[:alnum:]\.\-]+\.+)", $email)) {
$recipient = $to;
$subject = $the_subject;
$additional_headers = ("From: $email\n");
$body = ("Name: $name\nEmail: $email\n\nMessage:\n\n" . $message);
if (mail($recipient, $subject, $body, $additional_headers)) {
print ("<div id=\"sectionContent\">");
print ("Tu informacion ha sido registrada y enviada a $recipient.<br><br>");
print ("</div><br>");
} else {
print ("<div id=\"sectionContent\">");
print ("<font color=\"red\">Uh-Oh! Something went wrong with the script! Please try again.</font><br><br>");
print ("</div><br>");
$send = "false";
email_form();
}
} else {
print ("<div id=\"sectionContent\">");
print ("<font color=\"red\">Tu direccion de Email parece invalida, por favor intenta de nuevo.</font><br><br>");
print ("</div><br>");
$send = "false";
email_form();
}
} else {
print ("<div id=\"sectionContent\">");
print ("Introduce tus datos, todos los datos son requeridos.");
print ("</div>");
email_form();
}

function email_form()
{
global $subject_array, $recipient_array, $this_script, $PHP_SELF;

print ("<div id=\"sectionContent\">");
print ("<form METHOD=POST action=\"$PHP_SELF\">\n");
print ("<input type=\"hidden\" name=\"send\" value=\"true\">\n");
{
print ("<option value=\"" . $value . "\">" . $key . "</option>\n");
}
print ("</select><br><br>\n");
print ("Nombre:<br><input type=\"text\" name=\"name\"><br><br>\n");
print ("E-Mail:<br>\n");
print ("<input type=\"text\" name=\"email\" size=\"40\"><br><br>\n");
foreach ($subject_array as $value2) {
print ("<option value=\"" . $value2 . "\">" . $value2 . "</option>\n");
}
print ("</select><br><br>\n");

print ("<input type=\"submit\" value=\"Enviar\">&nbsp;&nbsp;\n");
print ("<input type=\"reset\" value=\"Limpiar\">\n");
print ("</form>\n");
print ("</div>");
}
?>
  #4 (permalink)  
Antiguo 03/06/2005, 16:06
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cita:
Pruebenlo y se daran cuenta del error
No fuerces a eso .. si tu obtienes tal error . .no te cuesta nada "pegarlo" aquí textualmente .. Que tal si es un problema de configuración de PHP y yo lo tengo bien ajustado pero tu no? .. a mi me funcionará pero a tí que eres el interesado .. no.


Sobre el mensaje que obtienes cuando envias tu e-mail .. si te fijas .. llega de:
if (mail($recipient, $subject, $body, $additional_headers)) {

es decir . .la función mail() no se está ejecutando .. ¿por qué? .. si no obtenemos algún mensaje de error .. es complicado ver el problema.

Podrías usar:
error_reporting(E_ALL);

al principio de tu script para intentar ver algún mensaje de error que tal vez se esté ocultando ahora mismo.

Un saludo,
  #5 (permalink)  
Antiguo 03/06/2005, 16:25
 
Fecha de Ingreso: abril-2005
Mensajes: 8
Antigüedad: 12 años, 8 meses
Puntos: 0
Ingresen aqui ahi aparecen los errores.

De verdad que si alguien podria ayudarme, se lo agradeceria, lo que sucede es que no se mucho de PHP
  #6 (permalink)  
Antiguo 06/06/2005, 07:52
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cita:
Iniciado por Ciudadnocturna
Ingresen aqui ahi aparecen los errores.

De verdad que si alguien podria ayudarme, se lo agradeceria, lo que sucede es que no se mucho de PHP
Insisto . .que no te cuesta nada "cortar" y "pegar" esos mensajes de error que ahí obtienes (para futuras preguntas. Ahorras tiempo)

Sobre tu problema .. revisa bien los nombres de tus variables de tu formulario (los input) y del código que usas .. al parecer NO SON los mismos .. fijate que el error ahora te dice que no está definida la variable "send" y es por qué tu en tu fomulario usas como nombre del "Nombre": name ...

Un saludo,
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 16:12.