Foros del Web » Programando para Internet » PHP »

Eliminar Registros en PHP!

Estas en el tema de Eliminar Registros en PHP! en el foro de PHP en Foros del Web. Hola amigos, necesito de su ayuda. Estoy haciendo un pequeño ABM en PHP y MySql y tengo problemas en el eliminar que parece q no ...
  #1 (permalink)  
Antiguo 04/03/2008, 17:39
 
Fecha de Ingreso: noviembre-2006
Ubicación: Capital Federal
Mensajes: 141
Antigüedad: 17 años, 5 meses
Puntos: 1
Eliminar Registros en PHP!

Hola amigos, necesito de su ayuda.

Estoy haciendo un pequeño ABM en PHP y MySql y tengo problemas en el eliminar que parece q no puedo recuperar el parametro ID para su correcta eliminacion...

Aqui les pongo el codigo para q me ayuden a ver donde puede estar el error!

eliminar_avisos.php

<form action="eliminar_avisos_php.php" method="post" name="registro" >

//aqui muestros titulo, description, imagen y precio y un link eliminar donde paso el id de cada registro

<?php echo "<a href=\"eliminar_avisos_php.php?id=$id\" >Eliminar</a>" ?>

</form>

Hasta ahi todo bien! y en este otro archivo esta el problema!

eliminar_avisos_php.php

<?php

if (isset($id))
{
//Conectamos con la base de datos
$link=mysql_connect("localhost","ap000547_liber"," duSU80nagu");
mysql_select_db("ap000547_liber", $link);

$sql = "DELETE from avisos WHERE id='$id'";
$result = mysql_query($sql);
}else{
echo "Debe especificar un 'id'.\n";
}

?>

Me entra sienpre al "echo "Debe especificar un 'id'.\n";"

Si alguien me puede ayudar se los agradecere!!!!!!!!!!!!!

Muchas gracias!
  #2 (permalink)  
Antiguo 04/03/2008, 18:14
Avatar de Genetix  
Fecha de Ingreso: febrero-2002
Ubicación: Lima - Perú
Mensajes: 1.600
Antigüedad: 22 años, 2 meses
Puntos: 45
Re: Eliminar Registros en PHP!

todas las variables enviadas via post se deben recoger con $_POST["tu_variable"]

Saludos
  #3 (permalink)  
Antiguo 04/03/2008, 18:26
 
Fecha de Ingreso: noviembre-2006
Ubicación: Capital Federal
Mensajes: 141
Antigüedad: 17 años, 5 meses
Puntos: 1
Re: Eliminar Registros en PHP!

Hola amigo gracias por tu ayuda!! ahora hago esto pero sigue sin funcionar!!
sera alguna version de php o algo asi??

<?php

$id = $_POST["id"];

if (isset($id))
{
//Conectamos con la base de datos
$link=mysql_connect("localhost","ap000547_liber"," duSU80nagu");
mysql_select_db("ap000547_liber", $link);

$sql = "DELETE from avisos WHERE id='$id'";
$result = mysql_query($sql);
}else{
echo "Debe especificar un 'id'.\n";
}

?>

no se q pasa, pero siguen entrando a "echo "Debe especificar un 'id'.\n";"

gracias por su ayuda!
  #4 (permalink)  
Antiguo 04/03/2008, 19:07
Avatar de Genetix  
Fecha de Ingreso: febrero-2002
Ubicación: Lima - Perú
Mensajes: 1.600
Antigüedad: 22 años, 2 meses
Puntos: 45
Re: Eliminar Registros en PHP!

Nunca va funcionar
Tus variables lo estas pasando vía GET
y tienes que recogerlo con $_GET["tu_variable"].
Todo aquel variable que pases via Url es mejor recogerlo via $_GET[], y si lo pases a través del formularios via POST es mejor recogerlo via $_POST[]

saludos!
  #5 (permalink)  
Antiguo 04/03/2008, 19:07
Avatar de hector2c  
Fecha de Ingreso: noviembre-2007
Ubicación: Perú - Tacna
Mensajes: 979
Antigüedad: 16 años, 4 meses
Puntos: 25
Pregunta Re: Eliminar Registros en PHP!

matias el id lo estas enviado via $_GET y no $_POST, por medio de un enlaze

<?php echo "<a href=\"eliminar_avisos_php.php?id=$id\" >Eliminar</a>" ?>

puedes agregar esto

Código PHP:
<?php
  
if (empty($_GET['id'])==false)
  {
    
$id $_GET['id'];
    
//Conectamos con la base de datos
    
$link=mysql_connect("localhost","ap000547_liber"," duSU80nagu");
    
mysql_select_db("ap000547_liber"$link);

    
$sql "DELETE from avisos WHERE id='$id'"
    
$result mysql_query($sql);
    echo 
"registro eliminado";
  }
  else
  {
    echo 
"no hay variable en id";
  }
?>
cualquier problema avizas, enviando el mensaje de error
  #6 (permalink)  
Antiguo 04/03/2008, 19:16
 
Fecha de Ingreso: noviembre-2006
Ubicación: Capital Federal
Mensajes: 141
Antigüedad: 17 años, 5 meses
Puntos: 1
Re: Eliminar Registros en PHP!

Gracias Genetix y hector2c por su ayuda!!!!!!!!!!!

Me funciono perfecto con su explicacion!!!!

Muchas gracias de nuevo!!
  #7 (permalink)  
Antiguo 04/03/2008, 22:06
 
Fecha de Ingreso: marzo-2008
Ubicación: Buenos Aires
Mensajes: 86
Antigüedad: 16 años, 1 mes
Puntos: 0
Re: Eliminar Registros en PHP!

Como medida de protección siempre es mejor usar la funcion mysql_real_escape_string() sobre una variable recibida por GET o POST o COOKIE antes de utilizarla en una query. En tu caso seria asi:


Código PHP:
$sql "DELETE from avisos WHERE id='".mysql_real_escape_string($id)."'"
Esto no está relacionado con tu problema pero al ver el código me pareció que te podía servir la información.

-ronnieb
  #8 (permalink)  
Antiguo 06/07/2012, 09:43
 
Fecha de Ingreso: julio-2012
Ubicación: jalisco
Mensajes: 8
Antigüedad: 11 años, 9 meses
Puntos: 0
Respuesta: Eliminar Registros en PHP!

Buenos dias! reuslta que necesito eliminar registros de la bd por medio de codigo php y sentencias SQL mi codigo es el siguiente

if($_POST['accion'] == "eliminar"){
foreach($_POST as $llave => $valor){
//echo "$llave = $valor<br />\n";
}
$nombre =$_POST["nombre"];
$appat =$_POST["appat"];
$apmat =$_POST["apmat"];
$usuario =$_POST["usuarios"];
$contraseña =$_POST["pswd"];
$permiso =$_POST["permiso"];

$eliminaSQL = "DELETE FROM usuarios WHERE usuarios='".$usuario"'"; //linea 44
if(mysql_query($insertSQL)) header("Location: administracion_usuario.php");
else echo mysql_error();
}
else{
?>

pero a la hora de dar click en el boton eliminar me arroja el siguiente error:

Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in C:\wamp\www\prueba1\usuarios\eliminarreg.php on line 44

no se que estoy haciendo mal pues ya revise la linea 44 la he cambiado por usuarios=$_POST['usuarios'], usuarios=$_POST['usuario'], usuarios=$usuario
y aun asi sigue arrojando el mismo error por favor si alguien tiene una idea agradezco su ayuda
  #9 (permalink)  
Antiguo 06/07/2012, 10:18
 
Fecha de Ingreso: julio-2012
Ubicación: jalisco
Mensajes: 8
Antigüedad: 11 años, 9 meses
Puntos: 0
Respuesta: Eliminar Registros en PHP!

ya dejo de mostrarme el error pero ahora solo limpia los campos pero no elimina el registro de la bd

porfavor! me es un tanto urgente Gracias!! :)
  #10 (permalink)  
Antiguo 06/07/2012, 10:30
 
Fecha de Ingreso: julio-2012
Ubicación: jalisco
Mensajes: 8
Antigüedad: 11 años, 9 meses
Puntos: 0
Respuesta: Eliminar Registros en PHP!

he modificado un poco el codigo para borrar los registros por el id del usuario aun asi sigue sin eliminar el registro de la bd, ademas no se como hacer para que me pregunte si realmente quiero borrar el usuario

mi codigo quedo:


if($_POST['accion'] == "eliminar"){
foreach($_POST as $llave => $valor){
//echo "$llave = $valor<br />\n";
}
$nombre =$_POST["nombre"];
$appat =$_POST["appat"];
$apmat =$_POST["apmat"];
$usuario =$_POST["usuario"];
$contraseña =$_POST["pswd"];
$permiso =$_POST["permiso"];
$eliminaSQL = "DELETE id FROM usuarios WHERE id=$usu";
if(mysql_query($insertSQL)) header("Location: administracion_usuario.php");
else echo mysql_error();
}
else{
?>


Gracias!
  #11 (permalink)  
Antiguo 06/07/2012, 10:48
Avatar de rodrigo791  
Fecha de Ingreso: noviembre-2009
Ubicación: Uruguay
Mensajes: 1.339
Antigüedad: 14 años, 5 meses
Puntos: 168
Respuesta: Eliminar Registros en PHP!

Código PHP:
Ver original
  1. foreach($_POST as $llave => $valor){

me preunto que hace eso, estas haciendo referencia al array POST que tiene muchos valores, te falta indicar el valor POST al que haces referencia, entre paréntesis rectos
  #12 (permalink)  
Antiguo 06/07/2012, 10:49
Avatar de rodrigo791  
Fecha de Ingreso: noviembre-2009
Ubicación: Uruguay
Mensajes: 1.339
Antigüedad: 14 años, 5 meses
Puntos: 168
Respuesta: Eliminar Registros en PHP!

Código PHP:
Ver original
  1. $eliminaSQL = "DELETE id FROM usuarios WHERE id=$usu";
y eso que es? donde esta la variable definida $usu?
  #13 (permalink)  
Antiguo 06/07/2012, 12:11
 
Fecha de Ingreso: julio-2012
Ubicación: jalisco
Mensajes: 8
Antigüedad: 11 años, 9 meses
Puntos: 0
Respuesta: Eliminar Registros en PHP!

este es mi codigo completo


<body>
<?php
include_once "..\config\conexion.php";

error_reporting(0);
$queryidus="SELECT id FROM usuarios WHERE id ORDER BY id DESC LIMIT 1";
$residus=mysql_query($queryidus);
$arridus=mysql_fetch_array($residus);
$usu=$arridus["id"];

if($_POST['accion'] == "eliminar"){
foreach($_POST as $llave => $valor){
//echo "$llave = $valor<br />\n";
}

$nombre =$_POST["nombre"];
$appat =$_POST["appat"];
$apmat =$_POST["apmat"];
$usuario =$_POST["usuario"];
$contraseña =$_POST["pswd"];
$permiso =$_POST["permiso"];
$eliminaSQL = "DELETE id, nombre, apellidopat, apellidomat, usuario, pswd, permiso FROM usuarios WHERE id=$usu";
if(mysql_query($eliminaSQL)) header("Location: administracion_usuario.php");
else echo mysql_error();
}
else{
?>
<table border="0">
<form id="administracion_usuario" action="" method="post"><br />

<img src="http://www.forosdelweb.com/f18/eliminar-registros-php-562913/..\imagenes\usuarios.jpg" width="110" heigt="200"/><br/><br/>
<tr>
<td>Nombre: <td><input type="text" id="nombre" name="nombre" value="" /><br /></tr>
<td>Apellido paterno: <td><input type="text" id="appat" name="appat" value="" /><br/></tr>
<td>Apellido materno: <td><input type="text" id="apmat" name="apmat" value="" /><br /></tr>
<td>Usuario: <td><input type="text" id="usuario" name="usuario" value="" /><br /></tr>
<td>Contraseña: <td><input type="password" id="pswd" name="pswd" value="" /><br /></tr>
<td>Confirmar contraseña: <td><input type="password" id="pswd" name="pswd" value="" /><br /></tr>
<td>Permiso: <td><select name="permiso" value="" ><br/>
<option>Administrador<option/>
<option>Propietario<option/>
<option>Consulta<option/>
</select><br/></tr>
</table>
<br/><br/><br/><br/>
<table>
<input type="image" src="..\imagenes\regresa1.jpg" width="45" heigt="90"/>
<input type="image" src="..\imagenes\regresa2.png" width="45" heigt="90"/>
<input type="image" src="..\imagenes\avanza2.png" width="45" heigt="90"/>
<input type="image" src="..\imagenes\avanza1.jpg" width="45" heigt="90"/>
<a href="buscar.php"><input type="image" src="..\imagenes\busca.jpg" width="55" heigt="100"/></a>
<input type="image" name="accion" value="guardar" src="..\imagenes\guarda.png" width="45" heigt="90"/>
<a href="agregarusuario.php"><input type="image" src="..\imagenes\agrega.jpg" width="45" heigt="90"/></a>
<input type="image" src="..\imagenes\edita.jpg" width="55" heigt="100"/>
<a href="administracion_usuario.php"><input type="image" src="..\imagenes\eliminar.jpg" width="120" heigt="210"/>
<a href="http://www.forosdelweb.com/f18/eliminar-registros-php-562913/..\inicio.php"><img src="http://www.forosdelweb.com/f18/eliminar-registros-php-562913/..\imagenes\elimina1.jpg" width="55" heigt="100"/></a> <br/><br/><br/>
<?php

}
?>
</table>
</form>
</body>
</html>

se supone cuando hago click en la imagen de eliminar elimina el registro y me devuelve a la pagina de la administracion del usuario donde me muestra el ultimo registro ke tengo activo, en su lugar lo ke sucede es que limpia los campos en la pagina, no elimina el registro de la tabla en la bd y no me regresa a la pagina de administracion

muy a su contrario los botones de edita y agrega si funcionan correctamente :S
  #14 (permalink)  
Antiguo 06/07/2012, 12:29
Avatar de rodrigo791  
Fecha de Ingreso: noviembre-2009
Ubicación: Uruguay
Mensajes: 1.339
Antigüedad: 14 años, 5 meses
Puntos: 168
Respuesta: Eliminar Registros en PHP!

$queryidus="SELECT id FROM usuarios WHERE id ORDER BY id DESC LIMIT 1";

Si queres ordenar el where NO va
  #15 (permalink)  
Antiguo 06/07/2012, 12:31
Avatar de rodrigo791  
Fecha de Ingreso: noviembre-2009
Ubicación: Uruguay
Mensajes: 1.339
Antigüedad: 14 años, 5 meses
Puntos: 168
Respuesta: Eliminar Registros en PHP!

Otra cosa, los mysql_query siempre llevan como 2do parametro la variable de conexion.

$residus=mysql_query($queryidus, ACATUVARIABLEDECONEXION);
  #16 (permalink)  
Antiguo 06/07/2012, 12:32
Avatar de rodrigo791  
Fecha de Ingreso: noviembre-2009
Ubicación: Uruguay
Mensajes: 1.339
Antigüedad: 14 años, 5 meses
Puntos: 168
Respuesta: Eliminar Registros en PHP!

Y usa el highlight para poner tu código
Código HTML:
Ver original
  1. y que se vea asi
  #17 (permalink)  
Antiguo 06/07/2012, 13:21
 
Fecha de Ingreso: julio-2012
Ubicación: jalisco
Mensajes: 8
Antigüedad: 11 años, 9 meses
Puntos: 0
Respuesta: Eliminar Registros en PHP!

muchas gracias rodrigo79
mi variable de conexion te refieres a la variable ke uso en la bd?
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:19.