Foros del Web » Programando para Internet » PHP »

No se envia el mail

Estas en el tema de No se envia el mail en el foro de PHP en Foros del Web. Bien, despues de multiples ayudas por su parte, consegui que funcionara todo a la perfeccion, menos una cosa, el envio del mail de bienvenida, en ...
  #1 (permalink)  
Antiguo 30/11/2008, 12:47
 
Fecha de Ingreso: noviembre-2008
Mensajes: 100
Antigüedad: 15 años, 5 meses
Puntos: 1
No se envia el mail

Bien, despues de multiples ayudas por su parte, consegui que funcionara todo a la perfeccion, menos una cosa, el envio del mail de bienvenida, en un post lei que era tal como lo estoy haciendo pero no se envia de ninguna de las maneras, alguna sugerencia? gracias.

Este es el codigo:

Código:
<script language="javascript">
function jsRegistrar()
{
	var Nom = document.getElementById('Nom').value;
	var Cognoms = document.getElementById('Cognoms').value;

        if(Nom == ""){
              alert("Has d'ingresar el teu nom");
              document.getElementById('Nom').focus();
              return false;
        }
        if(Cognoms == ""){
              alert("Has d'ingresar els teus cognoms");
              document.getElementById('Cognoms').focus();
              return false;
        }
        return true;
}
</script>

<script type="text/javascript">
function verify_passwords(password1, password2)
{
	if (password1.value == '' || password2.value == '')
	{
		alert('Escriu la contrasenya i la seva confirmació.');
		return false;
	}
	else if (password1.value != password2.value)
	{
		alert('Les contrasenyes no concorden.');
		return false;
	}
	return true;
}

function verify_emails(email1, email2)
{
	if (email1.value == '' || email2.value == '')
	{
		alert('Escriu l´email i la seva confirmació.');
		return false;
	}
	else if (email1.value != email2.value)
	{
		alert('Els emails no concorden.');
		return false;
	}

	return true;
}
</script>

<?
if($registrar) {

$host = "localhost";
$user = "ampasant_basquet";
$pass = "50202050";
$db = "ampasant_basquet";

$conectar = mysql_connect($host,$user,$pass);
mysql_select_db($db,$conectar);


$Nom = $_POST['Nom'];
$Email = $_POST['Email'];



$resp = mysql_query("select * from usuarios where Email='$Email'") or die (mysql_error());
$existe = mysql_num_rows($resp);
if($existe == "0") {
mysql_query("insert into usuarios (Nom,Cognoms,Contrasenya,Email) values ('$Nom','$Cognoms','$Contrasenya','$Email')");
echo "Has estat registrat correctament.";

$remit = [email protected];
$asunto = Benvingut/a;
$body = Benvingut/a la web de bàsquet de l´AMPA.\r\n A partir d´avui rebràs les últimes noticies i informacions directament al teu correu.;
$desti = &Email;
$cabeceras = "From: ". $remit ."\r\nContent-type: text/html\r\n";

mail($desti,$asunto,$body,$cabeceras);

}
else {
echo "Aquest email ja es troba registrat.";
mysql_close($conectar); }
}
else {
?>
<form action="registrar.php" name="Formulari" method="post" onsubmit="return (jsRegistrar() && verify_passwords(Contrasenya, Contrasenyaconfirmacio) && verify_emails(Email, Emailconfirm));">

<table class="tborder" cellpadding="6" cellspacing="1" border="0" width="100%" align="center">

<tr>
	<td class="tcat">Registrar-se a la web de l´AMPA</td>
</tr>
<tr>
	<td class="panelsurround" align="center">
	<div class="panel">
		<div style="width:640px" align="left">

			<div class="smallfont" style="margin-bottom:3px">
				Si et registres, rebràs les ultimes noticies i informacions directament al teu correu
			</div>

			<div class="smallfont" style="margin-bottom:3px">
				<strong>Nom</strong>:<br />
				<input type="text" class="bginput" name="Nom" size="25" maxlength="" value="" id="Nom" style="width: 212px" /><span id="Nom"></span>
			</div> 
                        <div class="smallfont" style="margin-bottom:3px">
				<strong>Cognoms</strong>:<br />
				<input type="text" class="bginput" name="Cognoms" size="25" maxlength="" value="" id="Cognoms" style="width: 212px"/><span id="Cognoms"></span>
			</div>
<fieldset class="fieldset">
				<legend>Contrasenya</legend>

				<table cellpadding="0" cellspacing="3" border="0" width="400">
				<tr>
					<td colspan="2">Introduix la contrasenya per a la teva conta</td>
				</tr>
				<tr>
					<td>
						Contrasenya:<br />
						<input type="password" class="bginput" name="Contrasenya" size="25" maxlength="50" value="" onblur="varfield(1);" id="password_1"/>

					</td>
					<td>
						Confirmar Contrasenya:<br />
						<input type="password" class="bginput" name="Contrasenyaconfirmacio" size="25" maxlength="50" value="" onblur="varfield(2);" id="password_2"/>
						</td>
					</tr>
					<tr>
						<td colspan="2">

							<span id="password_1_status"></span>
						</td>
					</tr>
					<tr>
						<td colspan="2">
							<span id="password_2_status"></span>
					</td>
				</tr>
				</table>

			</fieldset>
			<fieldset class="fieldset">
				<legend>Direcció de Correo Electrònic</legend>
				<table cellpadding="0" cellspacing="3" border="0" width="400">
				<tr>
					<td colspan="2">Escriu una direcció de correu vàlida.</td>
				</tr>

				<tr>
					<td>
						Direcció de Correo Electrònic:<br />
						<input type="text" class="bginput" name="Email" size="25" maxlength="50" value="" onblur="varfield(1);" id="email1"/>
					</td>
					<td>
						Confirmar Direcció de Correo Electrònic:<br />
						<input type="text" class="bginput" name="Emailconfirm" size="25" maxlength="50" value="" onblur="varfield(2);" id="email2"/>

						</td>
					</tr>
					<tr>
						<td colspan="2">
							<span id="email1_status"></span>
						</td>
					</tr>
					<tr>
						<td colspan="2">

							<span id="email2_status"></span>
					</td>
				</tr>

<input type="submit" name="registrar" value="Registrar">
</form>
<?
}
?>
  #2 (permalink)  
Antiguo 30/11/2008, 12:50
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 2 meses
Puntos: 52
Respuesta: No se envia el mail

Hola

mira como tienes esta linea

$desti = &Email;

las variables son con el signo $

pero para que cambier el nombre de la variabley crear una nueva, con que pongas $Email en vez de $desti.....

Un saludo
  #3 (permalink)  
Antiguo 30/11/2008, 12:56
 
Fecha de Ingreso: noviembre-2008
Mensajes: 100
Antigüedad: 15 años, 5 meses
Puntos: 1
Respuesta: No se envia el mail

A ok, osea, lo que tengo que hacer es canviar $desti=$Email por $Email= $Email?
  #4 (permalink)  
Antiguo 30/11/2008, 13:06
 
Fecha de Ingreso: noviembre-2008
Mensajes: 100
Antigüedad: 15 años, 5 meses
Puntos: 1
Respuesta: No se envia el mail

Depues de hacer lo que has dicho, substituer desti por email, me aparece este error
Código:
Parse error: syntax error, unexpected '@' in /home/ampasant/domains/ampasantjosep.org/public_html/basquet/registrar.php on line 86
No lo entiendo, porque no tendria que haber ningun problema por poner @, que debo hacer?
  #5 (permalink)  
Antiguo 30/11/2008, 13:08
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 2 meses
Puntos: 52
Respuesta: No se envia el mail

Claro que no

es que va entrecomillado

$remit = "[email protected]";

como todo lo demas que es una variable, en tu codigo
  #6 (permalink)  
Antiguo 30/11/2008, 13:10
 
Fecha de Ingreso: noviembre-2008
Mensajes: 100
Antigüedad: 15 años, 5 meses
Puntos: 1
Respuesta: No se envia el mail

a si? ostras, pues donde cogi en codigo no lo estaba, ok muchas gracias, el resto de campos tambien van entre comillados?
  #7 (permalink)  
Antiguo 30/11/2008, 13:15
 
Fecha de Ingreso: noviembre-2008
Mensajes: 100
Antigüedad: 15 años, 5 meses
Puntos: 1
Respuesta: No se envia el mail

Vale ya veo que si, lo acabo de comprobar, jeje muchas gracias, a proposito, como podria poner en el body todos los datos de su registro? Serviria con poner, nom: $Nom ?
  #8 (permalink)  
Antiguo 30/11/2008, 13:29
 
Fecha de Ingreso: noviembre-2008
Mensajes: 100
Antigüedad: 15 años, 5 meses
Puntos: 1
Respuesta: No se envia el mail

Comprobado, si funciona haciendolo así, muchas gracias a todos, en especial a ti, ya que has sido el que más ha estado por mi, pero el resto de personas que me han ayudado tambien han hecho un gran trabajo así que muchas gracias
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 22:47.