Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

Aceptar / Rechazar solicitudes

Estas en el tema de Aceptar / Rechazar solicitudes en el foro de Bases de Datos General en Foros del Web. Hola, Tengo una web en php donde los usuarios registran urls y un administrador acepta o rechaza esas solicitudes de alta de las urls. Cuando ...
  #1 (permalink)  
Antiguo 04/12/2009, 10:50
 
Fecha de Ingreso: noviembre-2006
Mensajes: 82
Antigüedad: 17 años, 5 meses
Puntos: 0
Aceptar / Rechazar solicitudes

Hola,

Tengo una web en php donde los usuarios registran urls y un administrador acepta o rechaza esas solicitudes de alta de las urls.

Cuando un usuario registra una web, meto los datos en una tabla sitio_temp.
Después el administrador accede a su espacio privado y entonces ve una lista de solicitudes:

Sitio: tal
Descripción: dddd
Tarea 1: cccc
Tarea 2: vvvv

y debajo un botón de Aceptar y otro de Rechazar.

Entonces quiero que cuando dé a aceptar, se metan esos datos en la tabla sitio, se eliminen de la temporal y en la lista de sitios pendientes haya desaparecido.

En sitios_pendientes.php tengo este código:

Código PHP:
<?php
  
include ("conexion.php");
  
  
$consulta "select * from sitio_temp";
  
$result=mysql_query($consulta) or die(mysql_error()); 
  
      while(
$row mysql_fetch_array($result))  
    {  
    echo 
"<br>";
    echo 
"<b>Sitio</b>: ".$row['url_temp']."<br>";  
    echo 
"<b>Descripción</b>: ".$row['descripcion_temp']."<br>";  
    echo 
"<b>Tarea 1</b>: ".$row['tarea_uno_temp']."<br>"
    echo 
"<b>Tarea 2</b>: ".$row['tarea_dos_temp']."<br>";  
    echo 
"<br>"
    echo 
'<FORM action="admin_ins_sitio.php" method="post">
    <INPUT type="submit" value="Aceptar" name="aceptar"></FORM> <FORM action="admin_del_sitio.php" method="post"><INPUT name="rechazar" type="submit" value="Rechazar">
    </FORM>'
;
    echo 
"<br>"
    echo 
"<hr>";
    } 
    
 
?>
Aquí ya tengo una duda. Se pueden poner dos formularios así? Es que si pongo uno, luego cómo distingo si ha pulsado aceptar o rechazar?

Cuando da aceptar va a admin_ins_sitio.php y tengo esto:

Código PHP:
<?php
  
     
include ("conexion.php");

    
$url $_POST['url_temp'];
    
$desc $_POST['descripcion_temp'];
    
$tuno $_POST['tarea_uno_temp'];
    
$tdos $_POST['tarea_dos_temp'];
    
    
mysql_query("INSERT INTO sitio (url,descripcion,tarea_uno,tarea_dos) VALUES ('$url','$desc','$tuno','$tdos')",$conexion);
                
    
?>
Me falta añadir lo de que borre los datos de la temporal, pero no lo he hecho todavía porque aún no me inserta bien los datos temporales en la otra tabla.

gracias
  #2 (permalink)  
Antiguo 04/12/2009, 15:00
serser
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Aceptar / Rechazar solicitudes

Hola Tram.

Lo primero, el FORM está mal estructurado. El inicio del FORM debería ir antes que todos los $row[], lo que es el formulario en sí.

También debes poner un INPUT por cada $row[] para guardar cada valor en $_POST (puedes poner estos INPUT readonly si no quieres que se pudean modificar). De la manera que lo estás haciendo solo guarda los valores del INPUT del botón.

Respecto a la duda sobre los dos formularios, es mejor que incluyas los dos botones en el mismo formulario:

Código PHP:
echo '<input type="submit" name="accion" value="Aceptar" />';
echo 
'<input type="submit" name="accion" value="Rechazar" />'
y después hacer las acciones necesarias según el valor de $_POST['accion'].
  #3 (permalink)  
Antiguo 05/12/2009, 09:07
 
Fecha de Ingreso: noviembre-2006
Mensajes: 82
Antigüedad: 17 años, 5 meses
Puntos: 0
Respuesta: Aceptar / Rechazar solicitudes

muchas gracias por la ayuda.
me podrías poner un ejemplo del uso de input con $row[]? nunca lo he hecho y no sé muy bien cómo ponerlo.
gracias
  #4 (permalink)  
Antiguo 05/12/2009, 09:19
serser
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Aceptar / Rechazar solicitudes

Por ejemplo para Sitio:

Código PHP:
echo "<b>Sitio: </b><input name='url' type='text' readonly='readonly' value='".$row['url_temp']."' />"
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 05:48.