Foros del Web » Programando para Internet » PHP »

funcion email con GET

Estas en el tema de funcion email con GET en el foro de PHP en Foros del Web. Buenas de nuevo... para terminar con lo que estaba haciendo de borrar un registro, necesito que después me llegue un correo de que ha sido ...
  #1 (permalink)  
Antiguo 24/09/2010, 04:56
 
Fecha de Ingreso: septiembre-2010
Mensajes: 92
Antigüedad: 13 años, 7 meses
Puntos: 1
Pregunta funcion email con GET

Buenas de nuevo... para terminar con lo que estaba haciendo de borrar un registro, necesito que después me llegue un correo de que ha sido borrado... y no se como traer con GET la varible al php.

Código PHP:
$result mysql_query("SELECT id, the_date, salida, destino FROM bookings where  correo='" $_POST['correo'] . "' ORDER BY the_date ASC LIMIT 10"$link);
while(
$row mysql_fetch_array($result)){
echo 
"<tr> \n";
echo 
"<td class='borde'>$row[0]</td> \n";
echo 
"<td class='borde'>$row[1]</td> \n";
echo 
"<td class='borde'>$row[2]</td> \n";
echo 
"<td class='borde'>$row[3]</td> \n";
echo 
"<td class='borde'><b><a href='borrar.php?id=$row[0]'>Borrar reserva</a></b></td> \n"
y el borrar.php

Código PHP:
 $sql "DELETE from bookings WHERE id='".mysql_real_escape_string($id)."'";   
    
$result mysql_query($sql); 
    
header("Location:anulado.php");
    
    
$to .= $_POST['correo'];
    
$subject .= "Cancelación reserva\n";
    
$cuerpo "Su reserva ha sido cancelada \n";
    
$message .= "Fecha: " $_POST['the_date'] . "\n";
   
    
//$message .= "Coche: ". $coche ."\n";
    
$message .= "Salida: " $_POST['salida'] . "\n";
     
$message .= "Destino: " $_POST['destino'] . "\n";
          
$message .= "Para cualquier consulta llame al 388318\n";
         
$cabeceras .= "From: *\r\n"
         





// Mail it
mail($to$subject$message,$cabeceras);
  } 

Muchas gracias de nuevo
  #2 (permalink)  
Antiguo 24/09/2010, 05:02
 
Fecha de Ingreso: septiembre-2010
Ubicación: http://nomenrecordo.blogspot.com/
Mensajes: 111
Antigüedad: 13 años, 6 meses
Puntos: 1
Respuesta: funcion email con GET

Puedes hacer una query a ver si la id que querías borrar efectivamente se ha borrado y con un if decirle si ha estado borrado que mande el mail.
  #3 (permalink)  
Antiguo 24/09/2010, 05:03
Avatar de repara2  
Fecha de Ingreso: septiembre-2010
Ubicación: München
Mensajes: 2.445
Antigüedad: 13 años, 7 meses
Puntos: 331
Respuesta: funcion email con GET

La variable id que has puesto en la etiqueta <a> del primer script, se puede leer en destino como $_GET['id'].
Lo que haces ahora también funcionaría si tienes activado REGISTER_GLOBALS pero en general es mejor que lo hagas con la superglobal $_GET.
Espero que te sea de ayuda, salu2
  #4 (permalink)  
Antiguo 24/09/2010, 05:26
 
Fecha de Ingreso: septiembre-2010
Mensajes: 92
Antigüedad: 13 años, 7 meses
Puntos: 1
Pregunta Respuesta: funcion email con GET

Gracias por responder :D

Borrar si que se borra, el problema es que no me recoge las otras variables.
He puesto algo asi....


Código PHP:
$ssql "SELECT * FROM bookings_items WHERE id='".mysql_real_escape_string($id)."'";   
$rs mysql_query($ssql,$link) or die (mysql_error());  
$row=mysql_fetch_array($rs);
$fecha=$row['the_date']; 
$salida=$row['salida'];
$destino=$row['destino'];
$correo=$row['correo'];

 
    
    
$to .=$correo;
    
$subject .= "Cancelación reserva\n";
    
$cuerpo "Su reserva ha sido cancelada \n";
    
$message .= "Fecha: " $fecha ."\n";
    
$message .= "Salida: " $salida ."\n";
    
$message .= "Destino: " $destino ."\n";
          
$message .= "Para cualquier consulta llame al 388318\n";
         
$cabeceras .= "From: *\r\n"
No se como hacer para que envie. Gracias
  #5 (permalink)  
Antiguo 24/09/2010, 07:46
Avatar de repara2  
Fecha de Ingreso: septiembre-2010
Ubicación: München
Mensajes: 2.445
Antigüedad: 13 años, 7 meses
Puntos: 331
Respuesta: funcion email con GET

Dos cosas distintas: si no consigues que $fecha, $salida, etc tengan valor, entonces revisa que estás poniendo bien los nombres de los campos en:

Código PHP:
$fecha=$row['the_date']; 
$salida=$row['salida'];
$destino=$row['destino'];
$correo=$row['correo']; 
Por otra parte, si no llegas a darle valor a $correo, nunca enviarás.
En cualquier caso te falta en el ejemplo en envío en sí:

Código PHP:
mail($correo$to$message$cabeceras); 
A ver si lo haces caminar!, saludos
  #6 (permalink)  
Antiguo 26/09/2010, 17:13
 
Fecha de Ingreso: septiembre-2010
Mensajes: 92
Antigüedad: 13 años, 7 meses
Puntos: 1
Pregunta Respuesta: funcion email con GET

Cita:
Iniciado por repara2 Ver Mensaje
Dos cosas distintas: si no consigues que $fecha, $salida, etc tengan valor, entonces revisa que estás poniendo bien los nombres de los campos en:

Código PHP:
$fecha=$row['the_date']; 
$salida=$row['salida'];
$destino=$row['destino'];
$correo=$row['correo']; 
Por otra parte, si no llegas a darle valor a $correo, nunca enviarás.
En cualquier caso te falta en el ejemplo en envío en sí:

Código PHP:
mail($correo$to$message$cabeceras); 
A ver si lo haces caminar!, saludos
Que va... no me anda...

Es que no me recoge las variables....
El problema es que quiero que me recoja la variable de aqui

Código PHP:
$result mysql_query("SELECT id, the_date, salida, destino FROM bookings where  correo='" $_POST['correo'] . "' ORDER BY the_date ASC LIMIT 10"$link);
while(
$row mysql_fetch_array($result)){
echo 
"<tr> \n";
echo 
"<td class='borde'>$row[0]</td> \n";//((Cómo recojo esta variable? ara enviarla a borrar.php sin que sea a href?))
echo "<td class='borde'>$row[1]</td> \n";
echo 
"<td class='borde'>$row[2]</td> \n";
echo 
"<td class='borde'>$row[3]</td> \n";
echo 
"<td class='borde'><b><a href='borrar.php?id=$row[0]'>Borrar reserva</a></b></td> \n"

Código PHP:
 $sql "DELETE from bookings WHERE id='".mysql_real_escape_string($id)."'";   
    
$result mysql_query($sql); 
    
header("Location:anulado.php");

$ssql "SELECT * from bookings WHERE id='".mysql_real_escape_string($id)."'"
$rs mysql_query($ssql,$link) or die (mysql_error());  
$row=mysql_fetch_array($rs);
$fecha=$row['the_date']; 
$salida=$row['salida'];
$destino=$row['destino'];
$correo=$row['correo'];
/// ESTA BIEN EL CÓDIGO QUE TRAE OS DATOS??


//(((COMO RECOJO los datos que pertenecen al ID. Es decir, correo, fecha...  )))
    
    
$to .=$correo;
    
$subject .= "Cancelación reserva\n";
    
$cuerpo "Su reserva ha sido cancelada \n";
    
$message .= "Fecha: "$fecha"\n";
   
    
    
$message .= "Salida: "$salida"\n";
     
$message .= "Destino: "$destino"\n";
          
$message .= "Para cualquier consulta llame al 388318\n";
         
$cabeceras .= "From: *\r\n"
         

// Mail it
mail($to$subject$message,$cabeceras);
  } 
El header debería ir al final después de enviar el email???
A la hora de poner las variables en el cuaerpo del mensaje, me dice que la sintaxis no es correcta....




Muchas gracias
  #7 (permalink)  
Antiguo 27/09/2010, 01:39
Avatar de repara2  
Fecha de Ingreso: septiembre-2010
Ubicación: München
Mensajes: 2.445
Antigüedad: 13 años, 7 meses
Puntos: 331
Respuesta: funcion email con GET

Vamos por parte, a ver si se puede depurar un poco para que veas los errores por pantalla, parte 1:

Al while le falta el cierre y la variable $row mejor si la escapas, además, te agrego salidas por pantalla (luego las quitas):

Código PHP:
<?php

$sql 
"SELECT id, the_date, salida, destino FROM bookings where  correo='" $_POST['correo'] . "' ORDER BY the_date ASC LIMIT 10";
echo 
"<h3>$sql</h3>"//Salida por pantalla de la select para que compruebes si se monta bien
$result mysql_query($sql$link) or die("Imposible realizar la consulta. ".mysql_error());
while(
$row mysql_fetch_array($result)){
echo 
"<tr> \n";
echo 
"<td class='borde'>$row[0]</td> \n";//((Cómo recojo esta variable? ara enviarla a borrar.php sin que sea a href?))
echo "<td class='borde'>$row[1]</td> \n";
echo 
"<td class='borde'>$row[2]</td> \n";
echo 
"<td class='borde'>$row[3]</td> \n";
echo 
"<td class='borde'><b><a href='borrar.php?id=".$row[0]."'>Borrar reserva</a></b></td> \n";  
}

?>
Ejecuta la sentencia select tal como sale por pantalla en un cliente sql a ver si funciona, si no funciona corrige. Tienes que comprobar el valor de $_POST['correo'] al momento de montar la select, creo que ese es el único problema.

2. Para recoger la variable $row[0] sin que sea por href tienes que meterla en un form, en un campo oculto, pero para enviar el form tienes que poner un botón de enviar. POr ejemplo:

<?php

Código PHP:
$sql "SELECT id, the_date, salida, destino FROM bookings where  correo='" $_POST['correo'] . "' ORDER BY the_date ASC LIMIT 10";
echo 
"<h3>$sql</h3>"//Salida por pantalla de la select para que compruebes si se monta bien
$result mysql_query($sql$link) or die("Imposible realizar la consulta. ".mysql_error());
while(
$row mysql_fetch_array($result)){
echo 
"<form action=\"borrar.php\" method=\"post\"><table><tr> ";
echo 
"<td class='borde'>$row[0] <input type=\"hidden\" name=\"row0\" value=\"".$row[0]."\"></td> ";
echo 
"<td class='borde'>$row[1]</td> ";
echo 
"<td class='borde'>$row[2]</td> ";
echo 
"<td class='borde'>$row[3]</td> ";
echo 
"<td class='borde'><b><a href='borrar.php?id=".$row[0]."'>Borrar reserva</a></b></td></tr></table></form>";  
}

?> 
Si la mandas por form, te llegará al script borrar.php como $_POST['row0'], pero necesitas que el usuario le dé al botón. Esto implica un cambio en tu código, no sé si te interesa, lo haces bien por href.
Prueba a ver qué tal, saludos
  #8 (permalink)  
Antiguo 27/09/2010, 02:21
 
Fecha de Ingreso: septiembre-2010
Mensajes: 92
Antigüedad: 13 años, 7 meses
Puntos: 1
Respuesta: funcion email con GET

Cita:
Iniciado por repara2 Ver Mensaje
Vamos por parte, a ver si se puede depurar un poco para que veas los errores por pantalla, parte 1:

Al while le falta el cierre y la variable $row mejor si la escapas, además, te agrego salidas por pantalla (luego las quitas):

Código PHP:
<?php

$sql 
"SELECT id, the_date, salida, destino FROM bookings where  correo='" $_POST['correo'] . "' ORDER BY the_date ASC LIMIT 10";
echo 
"<h3>$sql</h3>"//Salida por pantalla de la select para que compruebes si se monta bien
$result mysql_query($sql$link) or die("Imposible realizar la consulta. ".mysql_error());
while(
$row mysql_fetch_array($result)){
echo 
"<tr> \n";
echo 
"<td class='borde'>$row[0]</td> \n";//((Cómo recojo esta variable? ara enviarla a borrar.php sin que sea a href?))
echo "<td class='borde'>$row[1]</td> \n";
echo 
"<td class='borde'>$row[2]</td> \n";
echo 
"<td class='borde'>$row[3]</td> \n";
echo 
"<td class='borde'><b><a href='borrar.php?id=".$row[0]."'>Borrar reserva</a></b></td> \n";  
}

?>
Ejecuta la sentencia select tal como sale por pantalla en un cliente sql a ver si funciona, si no funciona corrige. Tienes que comprobar el valor de $_POST['correo'] al momento de montar la select, creo que ese es el único problema.

2. Para recoger la variable $row[0] sin que sea por href tienes que meterla en un form, en un campo oculto, pero para enviar el form tienes que poner un botón de enviar. POr ejemplo:

<?php

Código PHP:
$sql "SELECT id, the_date, salida, destino FROM bookings where  correo='" $_POST['correo'] . "' ORDER BY the_date ASC LIMIT 10";
echo 
"<h3>$sql</h3>"//Salida por pantalla de la select para que compruebes si se monta bien
$result mysql_query($sql$link) or die("Imposible realizar la consulta. ".mysql_error());
while(
$row mysql_fetch_array($result)){
echo 
"<form action=\"borrar.php\" method=\"post\"><table><tr> ";
echo 
"<td class='borde'>$row[0] <input type=\"hidden\" name=\"row0\" value=\"".$row[0]."\"></td> ";
echo 
"<td class='borde'>$row[1]</td> ";
echo 
"<td class='borde'>$row[2]</td> ";
echo 
"<td class='borde'>$row[3]</td> ";
echo 
"<td class='borde'><b><a href='borrar.php?id=".$row[0]."'>Borrar reserva</a></b></td></tr></table></form>";  
}

?> 
Si la mandas por form, te llegará al script borrar.php como $_POST['row0'], pero necesitas que el usuario le dé al botón. Esto implica un cambio en tu código, no sé si te interesa, lo haces bien por href.
Prueba a ver qué tal, saludos
Buenas, gracias por contestar.
Mira es que la variable si que me llega a laotra página y la recoge bien porque tengo otra cosilla por ahi que la utiliza y funciona bien.
El caso es a la hora de recoger los datos para el correo....:S lo demás si me va bien.
Gracias :D::D

Etiquetas: email, funcion
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 20:34.