Foros del Web » Programando para Internet » PHP »

Botón con post y valor

Estas en el tema de Botón con post y valor en el foro de PHP en Foros del Web. Hola, me gustaría usar un botón en HTML que eliminase un registro de la base de datos a según el ID del botón. Ahora mismo ...
  #1 (permalink)  
Antiguo 15/04/2013, 05:49
 
Fecha de Ingreso: abril-2013
Mensajes: 3
Antigüedad: 11 años
Puntos: 0
Pregunta Botón con post y valor

Hola, me gustaría usar un botón en HTML que eliminase un registro de la base de datos a según el ID del botón.

Ahora mismo dispongo del siguiente código que emplea un Textbox y un botón, pero quisiera usar únicamente un botón.

Código HTML:
<form action ="eliminar.php" method="post" name="form2">
<table width="350" border="0">
	<tr>
		<td>Eliminar índice#<input type="text" name="codigo" /></td>

		<td>&nbsp;</td>
		<td><input type="submit" value="Eliminar" /></td>
	</tr>
</table>
</form> 
el fichero "eliminar.php" es el siguiente:
Código PHP:
<?php

include("conexion.php");


        
$conexion mysql_connect($host,$user,$pw) or die ("¡Problema al conectar con el host!");
        
mysql_select_db($db,$conexion) or die ("¡Problema al conectar la base de datos!");
        
        
$Codigo $_POST['codigo'];
        
$registro mysql_query("SELECT * FROM webtest WHERE codigo = '$Codigo'",$conexion);
        
        if (
$reg=mysql_fetch_array($registro))
        {
            
mysql_query("DELETE FROM webtest WHERE codigo = '$Codigo'",$conexion);
        }
        
header'Location: http://lustabel.eu/demo' ) ;

?>
Muchas gracias por vuestro tiempo y ayuda!!
  #2 (permalink)  
Antiguo 15/04/2013, 05:55
Avatar de hades87  
Fecha de Ingreso: diciembre-2007
Ubicación: Barcelona - España
Mensajes: 3.194
Antigüedad: 16 años, 4 meses
Puntos: 68
Respuesta: Botón con post y valor

Antes que emepzar varios puntos importantes.

Los formularios no se formatean con tablas, para eso ya tienen sus etiquetas y tags correspondientes. Y si quieres que solo sea un botón lo puedes hacer con un enlace que sea algo tipo así .php?id=<id_del_registro> y de esta forma que te lleve a una página donde se pregunta si queire borrarlo o no y ahí ya hacer la operación
__________________
No diseñes usando tablas.
  #3 (permalink)  
Antiguo 15/04/2013, 07:07
 
Fecha de Ingreso: abril-2013
Mensajes: 3
Antigüedad: 11 años
Puntos: 0
Respuesta: Botón con post y valor

Cómo debería de ser el enlace?

Mi fichero "eliminar.php" funciona bien con el formulario en el que el usuario indica el registro a eliminar y luego pulsa el botón.
"eliminar.php" recoge el índice con el siguiente código:
Código PHP:
$Codigo $_POST['codigo']; 
Pero desconozco cómo hacer para que el link de "index.html" funcione.

He probado de la siguiente manera:
Código HTML:
<span title="Eliminar este registro" class="etiqueta">
 <a href="eliminar.php?codigo=3">Eliminar</a>
</span> 
  #4 (permalink)  
Antiguo 15/04/2013, 07:15
Avatar de rodrigo791  
Fecha de Ingreso: noviembre-2009
Ubicación: Uruguay
Mensajes: 1.339
Antigüedad: 14 años, 5 meses
Puntos: 168
Respuesta: Botón con post y valor

Bueno pero si mandas una variable, en este caso "codigo" por un enlace, o sea una url, tenes que usar $_GET no $_POST
Código PHP:
Ver original
  1. $codigo = $_GET['codigo'];
  #5 (permalink)  
Antiguo 15/04/2013, 08:10
Avatar de hades87  
Fecha de Ingreso: diciembre-2007
Ubicación: Barcelona - España
Mensajes: 3.194
Antigüedad: 16 años, 4 meses
Puntos: 68
Respuesta: Botón con post y valor

Cierto es rodrigo, se me olvidó ese detalle. Y sobretodo recuerda el uso de isset
__________________
No diseñes usando tablas.
  #6 (permalink)  
Antiguo 15/04/2013, 08:45
 
Fecha de Ingreso: abril-2013
Mensajes: 3
Antigüedad: 11 años
Puntos: 0
De acuerdo Para cerrar...

Muchas gracias a todos!
De verdad, ha sido muy instructivo y me ha ayudado mucho.

A modo de resumen me gustaría mostrar lo que he modificado en el fichero de "eliminar.php" para que acepte el método de post y el de URL al mismo tiempo haciéndolo así compatible con las dos formas estas:

Código PHP:
        if (isset($_POST['codigo'])) $Codigo $_POST['codigo']; #Si viene por Post corre este
        
if (isset($_GET['codigo'])) $Codigo $_GET['codigo']; #Si viene por enlace corre este 
Funciona genial, gracias!!
  #7 (permalink)  
Antiguo 15/04/2013, 08:53
Avatar de h2swider  
Fecha de Ingreso: julio-2007
Ubicación: Ciudad de Buenos Aires
Mensajes: 932
Antigüedad: 16 años, 9 meses
Puntos: 194
Respuesta: Para cerrar...

Otra opción un poco mas prolija podria ser

Código PHP:
$codigo = !empty($_REQUEST['codigo'])?$_REQUEST['codigo']:false;

if(
$codigo){
//foo

__________________
Codifica siempre como si la persona que finalmente mantedra tu código sea un psicópata violento que sabe donde vives

Etiquetas: database, form
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:09.