Foros del Web » Programando para Internet » PHP »

Principiante en PHP

Estas en el tema de Principiante en PHP en el foro de PHP en Foros del Web. Bueno aquí va mi cuarto día en la lucha con php, la verdad, se me empiezan a alclarar algunas cosas...... Resulta que he estado mirando ...
  #1 (permalink)  
Antiguo 17/12/2007, 16:41
Avatar de Ana1457  
Fecha de Ingreso: enero-2007
Mensajes: 53
Antigüedad: 17 años, 10 meses
Puntos: 0
Principiante en PHP

Bueno aquí va mi cuarto día en la lucha con php, la verdad, se me empiezan a alclarar algunas cosas......

Resulta que he estado mirando tutos en youtube, he leído por ahí, y me he encontrado con este estupendo tutorial

http://www.videotutoriales.us/index.php?id=Formulario_contacto2


para mandar info al correo electrónico. Todo bien hasta que le doy a enviar.... espero...espero...espero.... pero a mi correo no me llega nada.

He probado cn varias cuentas, me dice que se ha enviado correctamente. Pero no se lo que ha podido pasar.

??
  #2 (permalink)  
Antiguo 17/12/2007, 16:57
 
Fecha de Ingreso: noviembre-2002
Mensajes: 1.341
Antigüedad: 22 años
Puntos: 17
Re: Principiante en PHP

Postea el código a ver....
  #3 (permalink)  
Antiguo 17/12/2007, 17:01
Avatar de Ana1457  
Fecha de Ingreso: enero-2007
Mensajes: 53
Antigüedad: 17 años, 10 meses
Puntos: 0
Re: Principiante en PHP

formulario.php


<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Formulario</title>
</head>
<body>

<form method="post" action="enviar.php">

<!-- No cambiar estas variables! -->
<?php
$ipi = getenv("REMOTE_ADDR");
$httprefi = getenv ("HTTP_REFERER");
$httpagenti = getenv ("HTTP_USER_AGENT");
?>

<input type="hidden" name="ip" value="<?php echo $ipi ?>" />
<input type="hidden" name="httpref" value="<?php echo $httprefi ?>" />
<input type="hidden" name="httpagent" value="<?php echo $httpagenti ?>" />

Nombres: <br />
<input type="text" name="visitor" size="35" />
<br />
E-mail:<br />
<input type="text" name="visitormail" size="35" />
<br /> <br />
Departamento:<br />
<select name="attn" size="1">
<option value=" Facturacion ">Facturacion</option>
<option value=" Soporte General ">Soporte General </option>
<option value=" Soporte Tecnico ">Soporte Tecnico </option>
<option value=" Webmaster ">Webmaster </option>
</select>
<br /><br />
Mensaje:
<br />
<textarea name="notes" rows="4" cols="40"></textarea>
<br />
<input type="submit" value="Enviar Formulario" />
<br />
</form>

</body>
</html>



enviar.php


<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Formulario de envio Script</title>
</head>
<body>

<!-- Recuerde: Agregue un link en donde dice 'Index' (en el boton) -->
<!-- Recuerde: Cambie donde dice 'TuEmail' al email tuyo -->

<?php

$ip = $_POST['ip'];
$httpref = $_POST['httpref'];
$httpagent = $_POST['httpagent'];
$visitor = $_POST['visitor'];
$visitormail = $_POST['visitormail'];
$notes = $_POST['notes'];
$attn = $_POST['attn'];

if (eregi('http:', $notes)) {
die ("Do NOT try that! ! ");
}
// Punto 1, Valida email
if(!$visitormail == "" && (!strstr($visitormail,"@") || !strstr($visitormail,".")))
{
echo "<h2>Regrese - Ingrese un E-mail valido</h2>\n";
$badinput = "<h2>Su comentario no fue enviado</h2>\n";
echo $badinput;
die ("Regrese a completar los datos! ! ");
}
// Punto 2, Valida el nombre, email y mensaje, los campos no tienen que estar vacios.
if(empty($visitor) || empty($visitormail) || empty($notes )) {
echo "<h2>Regrese - Rellene todos los campos</h2>\n";
die ("Regrese a completar los datos! ! ");
}

$todayis = date("l, F j, Y, g:i a") ;

$attn = $attn ;
$subject = $attn;

$notes = stripcslashes($notes);

$message = " $todayis [EST] \n
Atencion: $attn \n
Mensaje: $notes \n
From: $visitor ($visitormail)\n
Informacion adicional : IP = $ip \n
Navegador usado: $httpagent \n
Referido de : $httpref \n
";

$from = "From: $visitormail\r\n";

mail("aki pongo mi [email protected]", $subject, $message, $from); // Punto 3 cambiar por tu email.

?>
// Punto 4 imprime los datos introducidos
<p align="center">
Fecha: <?php echo $todayis ?>
<br />
Gracias : <?php echo $visitor ?> ( <?php echo $visitormail ?> )
<br />

Atencion: <?php echo $attn ?>
<br />
Mensaje:<br />
<?php $notesout = str_replace("\r", "<br/>", $notes);
echo $notesout; ?>
<br />
<?php echo $ip ?>

<br /><br />
<a href="index.php"> Index </a>
</p>

</body>
</html>
  #4 (permalink)  
Antiguo 17/12/2007, 17:02
Avatar de Ana1457  
Fecha de Ingreso: enero-2007
Mensajes: 53
Antigüedad: 17 años, 10 meses
Puntos: 0
Re: Principiante en PHP

Bueno ahora me voy a descansar un poco y ya mañana a ver que se me ocurre.....
  #5 (permalink)  
Antiguo 17/12/2007, 17:12
 
Fecha de Ingreso: noviembre-2002
Mensajes: 1.341
Antigüedad: 22 años
Puntos: 17
Re: Principiante en PHP

Supongo que llegará hasta el final el script, no? (a mostrar lo de gracias y así)

Sería interesante ver lo qué devuelve la función mail.

Código PHP:

$resultado_mail 
mail("aki pongo mi [email protected]"$subject$message$from); // Punto 3 cambiar por tu email.

echo('<br />Resultado de la función mail: '.$resultado_mail.'<br />'); 
Y para asegurarte, también puedes mostrar el restro de variables:

Código PHP:

echo('<br />Subjet: '.$subjet.'<br />');
echo(
'<br />Message: '.$message.'<br />');
echo(
'<br />From: '.$from.'<br />'); 
  #6 (permalink)  
Antiguo 17/12/2007, 17:37
Avatar de pragone  
Fecha de Ingreso: diciembre-2007
Ubicación: Madrid
Mensajes: 223
Antigüedad: 16 años, 11 meses
Puntos: 2
Re: Principiante en PHP

Pues que mail funcione o no depende un poco de cómo tengas configurado tu php.ini, si estás trabajando bajo Windows, (aunque no me acuerdo bien de la configuración por defecto), es posible que tengas como servidor SMTP a "localhost" y excepto que tengas un servidor SMTP en tu máquina (poco probable en Windows) no te va a funcionar. Deberías setear esta info a la de tu ISP.
  #7 (permalink)  
Antiguo 17/12/2007, 17:46
 
Fecha de Ingreso: noviembre-2002
Mensajes: 1.341
Antigüedad: 22 años
Puntos: 17
Re: Principiante en PHP

Sí, por eso le comentaba lo de ver qué retorna la función, no he tratado mucho con envios de mails, pero sé que la función devuelve un entero que indica si ha ido bien (claro que no sé hasta que punto controlará los errores del servidor SMTP).

Aunque la prueba más sencilla es crear un php que lo único que haga es mandar un mail, sin variables ni nada, sólo la función mail.
  #8 (permalink)  
Antiguo 18/12/2007, 06:20
Avatar de Ana1457  
Fecha de Ingreso: enero-2007
Mensajes: 53
Antigüedad: 17 años, 10 meses
Puntos: 0
Re: Principiante en PHP

lo que me devuelve es esto:

// Punto 4 imprime los datos introducidos

Fecha: Tuesday, December 18, 2007, 2:17 pm
Gracias : dasadf ( [email protected] )
Atencion: Soporte General
Mensaje:
asdadasdfasdf
83.57.150.237

Index

pero a mi correo no llega nada????
  #9 (permalink)  
Antiguo 18/12/2007, 06:33
 
Fecha de Ingreso: noviembre-2002
Mensajes: 1.341
Antigüedad: 22 años
Puntos: 17
Re: Principiante en PHP

Seguramente será tema de configuración del servidor. Eso te va a salir siempre, aunque no envie el correo, ya que no compruebas lo que te devuelve la función mail.
  #10 (permalink)  
Antiguo 18/12/2007, 06:58
Avatar de Ana1457  
Fecha de Ingreso: enero-2007
Mensajes: 53
Antigüedad: 17 años, 10 meses
Puntos: 0
Re: Principiante en PHP

Y como puedo solucionarlo, me busco otro servidor???? Estoy con 100webspace.net
  #11 (permalink)  
Antiguo 18/12/2007, 08:27
Avatar de Ana1457  
Fecha de Ingreso: enero-2007
Mensajes: 53
Antigüedad: 17 años, 10 meses
Puntos: 0
Re: Principiante en PHP

He probado con freehostia.net y sigue igual.

???¿¿¿¿??¿?¿?¿?
  #12 (permalink)  
Antiguo 18/12/2007, 08:28
 
Fecha de Ingreso: noviembre-2002
Mensajes: 1.341
Antigüedad: 22 años
Puntos: 17
Re: Principiante en PHP

Umm, puede que los servidores gratuitos no te dejen mandar mails, sería muy jugoso crear scripts de envio masivo de correos.

De todos modos, siempre te puedes poner en contacto con ellos para preguntarlo...
  #13 (permalink)  
Antiguo 18/12/2007, 08:30
Avatar de mauled  
Fecha de Ingreso: marzo-2005
Ubicación: Cd. de México.
Mensajes: 3.001
Antigüedad: 19 años, 8 meses
Puntos: 33
Re: Principiante en PHP

Pues seria cuestion de que hablaras con dichos hosting's o checaras en las faqs y ver si tienen alguna limitante con el envio de correos usando la función mail.

Saludillos.

Última edición por mauled; 18/12/2007 a las 08:31 Razón: jeje me gano keysher
  #14 (permalink)  
Antiguo 18/12/2007, 08:31
Avatar de Ana1457  
Fecha de Ingreso: enero-2007
Mensajes: 53
Antigüedad: 17 años, 10 meses
Puntos: 0
Re: Principiante en PHP

Mi idea era probar primero eso de que se mande al correo información, y despues quiero aprender un poco de bases de datos, es decir que los usuarios manden un mensaje y se guarde en el servidor. He visto hacer algo parecido con un archivo de texto que se creaba en el servidor y no se como se le relacionaba........
Pero claro, para hacer esto necesito un servidor en condiciones, que al menos sea por unos días, por un mes... no se para hacer pruebas....

Alguna sugerencia?
  #15 (permalink)  
Antiguo 18/12/2007, 09:55
Avatar de Ana1457  
Fecha de Ingreso: enero-2007
Mensajes: 53
Antigüedad: 17 años, 10 meses
Puntos: 0
Re: Principiante en PHP

Jolin!!!!

Estoy harta, cuando te registras te dicen que si dan php, pero luego nada de nada....

Para hacer la prueba, aunque no lo tengo muy claro como funciona, podría instalar un servidor smtp y configurarlo, de manera ke desde mi localhost se me mande un correo???
  #16 (permalink)  
Antiguo 18/12/2007, 10:01
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Re: Principiante en PHP

Asi es, puedes usar cualquier servidor SMTP en tu computadora, aunque te recomiendo el miniRelay.

Saludos.
  #17 (permalink)  
Antiguo 18/12/2007, 10:39
Avatar de Ana1457  
Fecha de Ingreso: enero-2007
Mensajes: 53
Antigüedad: 17 años, 10 meses
Puntos: 0
Re: Principiante en PHP

Gracias por el consejo GatorV

He instalado miniRelay, pero mira lo ke me dice:

17:27:18 Escuchando en 127.0.0.1 (Puerto 25)
17:29:03 Comando: MAIL FROM <correo del ke manda el [email protected]>
17:29:03 Comando: RCPT TO <correo del ke recibe, el mío, el ke esta en el archivo enviar.php @gmail.com>
17:29:03 [1] Resolviendo dominio MX de gmail.com
17:29:09 [1] Error al resolver el dominio gmail.com: TimedOut
17:29:09 [1] Reintentando resolución DNS
17:29:15 [1] Error al resolver el dominio gmail.com: TimedOut
17:29:15 [1] Reintentando resolución DNS
17:29:21 [1] Error al resolver el dominio gmail.com: TimedOut
17:29:21 [1] Mensaje NO enviado, debido a fallos con el DNS
17:29:21 [2] Devolviendo mensaje
17:29:21 [2] Resolviendo dominio MX de hotmail.com
17:29:28 [2] Error al resolver el dominio hotmail.com: TimedOut
17:29:28 [2] Reintentando resolución DNS
17:29:34 [2] Error al resolver el dominio hotmail.com: TimedOut
17:29:34 [2] Reintentando resolución DNS
17:29:40 [2] Error al resolver el dominio hotmail.com: TimedOut
17:29:40 [2] El mensaje de error no ha podido ser enviado. Se queda en la cola


Tengo un problema con las DNS pero no se como solucionarlo.

?¿?¿?
  #18 (permalink)  
Antiguo 18/12/2007, 11:05
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Re: Principiante en PHP

Te recomiendo vayas al foro especifico de tu sistema operativo o de redes para que te ayuden a configurar tu maquina y puedas usar el miniRelay.

Saludos.
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 12:58.