Foros del Web » Programando para Internet » PHP »

como hacer este enlace para activar noticia

Estas en el tema de como hacer este enlace para activar noticia en el foro de PHP en Foros del Web. hola no logro conseguir realizar un enlace para la activacion de una noticia. el problema es como tengo que mandar el enlace si la noticia ...
  #1 (permalink)  
Antiguo 13/06/2011, 05:56
 
Fecha de Ingreso: mayo-2011
Mensajes: 187
Antigüedad: 12 años, 10 meses
Puntos: 1
como hacer este enlace para activar noticia

hola no logro conseguir realizar un enlace para la activacion de una noticia. el problema es como tengo que mandar el enlace si la noticia que tengo que activar esta en este campo id_noticia como tendria que enviar yo hice algo asin pero no se como hacer para activar solo la noticia con el identificador que toque.
tengo algo asin:
Código PHP:
Ver original
  1. http://localhost/activar_noticia.php;
y luego en activar_anuncio.php hago el codigo para activar la noticia pero no se como hacer que solo se active la noticia que corresponde ya que este enlace lo envio a traves de la funcion mail de php cuando mandan datos por formulario.

alguna ayuda?
  #2 (permalink)  
Antiguo 13/06/2011, 07:03
Avatar de jotaincubus  
Fecha de Ingreso: mayo-2005
Ubicación: Medellin - Colombia
Mensajes: 1.797
Antigüedad: 18 años, 11 meses
Puntos: 394
Respuesta: como hacer este enlace para activar noticia

Mira, si envías el id_noticia por la URL ($_GET) de esta forma:

http://localhost/activar_noticia.php?id_noticia=1


Entonces debes recogerlo asi:

$id = $_GET[' id_noticia'];
$actualizar = "UPDATE tu_tabla SET campoActualizar = 1 WHERE id_noticia = $id";

Eso es todo lo que debes hacer. Recuerda que si vas a mandarlo a un correo debes cambiar LOCALHOST porque sino ese enlace no te servirá sino en el servidor.

Espero que esto te saque de las dudas.
__________________
Por que existe gente que no agradece después de que se le ha brindado tiempo y ayuda ???
  #3 (permalink)  
Antiguo 13/06/2011, 07:17
 
Fecha de Ingreso: mayo-2011
Mensajes: 187
Antigüedad: 12 años, 10 meses
Puntos: 1
Respuesta: como hacer este enlace para activar noticia

jotaincubus gracias por contestar en realidad estoy trabajando en modo local por eso uso localhost probare como me dijistes haber que tal me va y te dio algo
  #4 (permalink)  
Antiguo 13/06/2011, 07:36
 
Fecha de Ingreso: mayo-2011
Mensajes: 187
Antigüedad: 12 años, 10 meses
Puntos: 1
Respuesta: como hacer este enlace para activar noticia

cuando se guarda los datos con el formulario hago un echo y pongo el enlace asin pero no me va bien que hice mal?
Código PHP:
Ver original
  1. echo 'Esta noticia aun no esta activado para activarla a click en este enlace
  2.            http://localhost/activar_noticia.php?id_noticia=1';
  #5 (permalink)  
Antiguo 13/06/2011, 08:26
Avatar de jotaincubus  
Fecha de Ingreso: mayo-2005
Ubicación: Medellin - Colombia
Mensajes: 1.797
Antigüedad: 18 años, 11 meses
Puntos: 394
Respuesta: como hacer este enlace para activar noticia

Amigo la cosa no es tan simple debes recoger el identificador de la noticia para saber cual debes mandar por el enlace.

Te invito a leer este tema el cual te explicara como obtener ese ID
__________________
Por que existe gente que no agradece después de que se le ha brindado tiempo y ayuda ???
  #6 (permalink)  
Antiguo 14/06/2011, 05:52
 
Fecha de Ingreso: mayo-2011
Mensajes: 187
Antigüedad: 12 años, 10 meses
Puntos: 1
Respuesta: como hacer este enlace para activar noticia

lo siento no lo acabo de entender bien todavia yo hice algo asin:

asin guardo los datos despues de insertarlos en el formulario
Código PHP:
Ver original
  1. $destino=$_POST['email'];
  2. $asunto="activar noticia";
  3. $mensaje="clickea este enlace para activar tu noticia
  4. http://localhost/email-pruebas/activar_noticia.php?id_noticia=1";
  5. $ssql="INSERT INTO tabla_noticias(noticia)values ('".$_POST['noticia']."')";
  6. $conexion=mysql_connect("localhost","root","");
  7.          mysql_select_db("db",$conexion);
  8.          mysql_query($ssql,$conexion)
  9.             if(mail($destino,$asunto,$mensaje)){
  10.     echo "esta noticia aun no esta publicado te hemos enviado un email a tu correo";
  11.             }else{
  12.                 echo "hubo un error y no se pudo publica su noticia";
  13.             }
despues el enlace a traves del correo lo envio a este codigo:
activar_noticia.php
Código PHP:
Ver original
  1. $_GET['id_noticia'];
  2. $sentencia = "UPDATE tabla_noticias SET activar_noticia = 1 WHERE id_noticia = $id";
  3. $conexion=mysql_connect("localhost","root","");
  4.          mysql_select_db("db",$conexion);
  5.          if (mysql_query($sentencia,$conexion)){
  6.             echo"Su noticia fue publicada con exito.";
  7.            }else{
  8.             echo 'hubo un error y no se pudo publicar su noticia';
  9.          }
y la verdad que no me funciona no me hace el update del campo activar_noticia de todas formas tampoco se si esta manera es la correcto de hacer este codigo si alguien me puede hechar una mano lo agradeceria saludos de todas formas

Última edición por tripoli; 14/06/2011 a las 07:18
  #7 (permalink)  
Antiguo 14/06/2011, 14:04
Avatar de jotaincubus  
Fecha de Ingreso: mayo-2005
Ubicación: Medellin - Colombia
Mensajes: 1.797
Antigüedad: 18 años, 11 meses
Puntos: 394
Respuesta: como hacer este enlace para activar noticia

hola, disculpa la tardanza para responder pero he estado muy ocupado.

Veo varios errores en tu código amigo, empecemos por la primera pagina:

Como vas a hacer un INSERT dentro de un mensaje de correo electronico ? se supone que primero hacer el INSERT y despues mandas el correo (es pura lógica):

Inserto->Mando correo con ID de la noticia

En la segunda pagina pasa lo siguiente:

$_GET['id_noticia'] Donde estas guardando ese dato ? se supone que lo necesitaras para activar la noticia con el UPDATE, pero no lo estas asignando a nada....

$variable = $_GET['id_noticia'];
__________________
Por que existe gente que no agradece después de que se le ha brindado tiempo y ayuda ???
  #8 (permalink)  
Antiguo 15/06/2011, 07:07
 
Fecha de Ingreso: mayo-2011
Mensajes: 187
Antigüedad: 12 años, 10 meses
Puntos: 1
Respuesta: como hacer este enlace para activar noticia

jotaincubus segui tus pasos y corregi el script pero no me actualiza el campo activar_noticia
hice esta modificacion espero que me puedas corregir y ayudar a entenderlo
codigo para guardar datos en db y mandar correo
Código PHP:
Ver original
  1. $conexion=mysql_connect("localhost","root","");
  2. mysql_select_db("db",$conexion);
  3. $ssql="INSERT INTO tabla_noticias(noticia)values ('".$_POST['noticia']."')";
  4.       if (mysql_query($ssql,$conexion)){
  5.          }else{
  6.             echo'hubo un error';
  7.          }
  8. $identificador= mysql_insert_id();
  9. $destino=$_POST['email'];
  10. $asunto="activar noticia";
  11. $mensaje="clickea este enlace para activar tu noticia
  12. http://localhost/email-pruebas/activar_noticia.php?".$identificador."=1";
  13. if(mail($destino,$asunto,$mensaje)){
  14.     echo "esta noticia aun no esta publicado te hemos enviado un email a tu correo";
  15.             }else{
  16.                 echo "hubo un error y no se pudo publica su noticia";
  17.             }
asin hice el codigo para la activacion de dicho campo
Código PHP:
Ver original
  1. $conexion=mysql_connect("localhost","root","");
  2. mysql_select_db("db",$conexion);      
  3. $id=$_GET['id_noticia'];
  4. $sentencia = "UPDATE tabla_noticias SET activar_noticia = 1 WHERE id_noticia = $id";
  5.         if (mysql_query($sentencia,$conexion)){
  6.             echo"Su notcicia fue publicada con exito.";
  7.            }else{
  8.             echo 'hubo un error y no se pudo publicar su noticia';
  9.          }
espero que puedas seguir ayudandome un saludo
en el script de activacion me da que si se publico la notifcia pero no es correcto nunca se hizo la actualizacion de dicho campo osea activar_noticia=1 el error que me muestra con mysql_erno y mysql_error es este:
1064: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1

Última edición por tripoli; 15/06/2011 a las 08:13
  #9 (permalink)  
Antiguo 15/06/2011, 08:19
Avatar de jotaincubus  
Fecha de Ingreso: mayo-2005
Ubicación: Medellin - Colombia
Mensajes: 1.797
Antigüedad: 18 años, 11 meses
Puntos: 394
Respuesta: como hacer este enlace para activar noticia

Jeje amigo ya casi lo logras... mira el error esta en esta parte

Código PHP:
Ver original
  1. http://localhost/email-pruebas/activar_noticia.php?".$identificador."=1";

Primero debes enviar un nombre de variable en la URL, si en la pagina de activacion recoges esto $_GET['id_noticia'] entonces debes poner ese nombre en la URL asi:

Código PHP:
Ver original
  1. http://localhost/email-pruebas/activar_noticia.php?id_noticia=".$identificador;

Así estas diciendo que el valor de la variable id_noticia es igual al identificador de la noticia en la tabla de la base de datos.

Ahora bien después de eso debes leer acerca de las cabeceras (headers) para los correos electrónicos que tienen enlaces a sitios web. Debes mandar un header que diga que el formato del correo es HTML y colocar ese enlace dentro de un <a href> para que es usuario haga click dentro del mismo correo y no le toque copiar y pegar el enlace en el navegador.

Estaré atento a tus dudas.
__________________
Por que existe gente que no agradece después de que se le ha brindado tiempo y ayuda ???
  #10 (permalink)  
Antiguo 15/06/2011, 08:52
 
Fecha de Ingreso: mayo-2011
Mensajes: 187
Antigüedad: 12 años, 10 meses
Puntos: 1
Respuesta: como hacer este enlace para activar noticia

gracias por tu ayuda me lo miro y luego te dire que tal me fue un saludo.
aunque no entiendo la parte que dices que tengo que poner las etiqueta <a href
ya que como lo hice me sale el enlace para enviar al script de activacion

Última edición por tripoli; 15/06/2011 a las 09:12
  #11 (permalink)  
Antiguo 15/06/2011, 09:46
 
Fecha de Ingreso: mayo-2011
Mensajes: 187
Antigüedad: 12 años, 10 meses
Puntos: 1
Respuesta: como hacer este enlace para activar noticia

jotaincubus muchas gracias por tu ayuda gracias ya comprendi mis errores y sobre las cabeceras ya me pondre al dia muchas gracias por tu colaboracion

Etiquetas: enlace, noticia
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 10:13.