Foros del Web » Programando para Internet » PHP »

Este script no da error ni hace nada?

Estas en el tema de Este script no da error ni hace nada? en el foro de PHP en Foros del Web. Hola os posteo este script por que intento borrar un registro de la BD y no hace nada de nada. borrar.php Código PHP: <?  <? ...
  #1 (permalink)  
Antiguo 09/03/2006, 05:50
 
Fecha de Ingreso: julio-2004
Mensajes: 45
Antigüedad: 13 años, 5 meses
Puntos: 0
Este script no da error ni hace nada?

Hola os posteo este script por que intento borrar un registro de la BD y no hace nada de nada.


borrar.php

Código PHP:
<? 
<?php
  $id
=$_POST[id];
  include (
"conexion.php");
  
mysql_query("DELETE FROM noticias WHERE id='$id'",$connect);
  
header("location: noticias.php");
?>
Ni borra ni nada, a ver si me echais una mano, gracias.
  #2 (permalink)  
Antiguo 09/03/2006, 05:57
 
Fecha de Ingreso: diciembre-2005
Mensajes: 88
Antigüedad: 12 años
Puntos: 0
No hace nada por que no le llega ningun id, se te han olvidado las comillas simples.

$id=$_POST['id'];

Prueba asi a ver si te funciona.
  #3 (permalink)  
Antiguo 09/03/2006, 06:20
Avatar de Zubyc  
Fecha de Ingreso: enero-2006
Ubicación: Almería
Mensajes: 5
Antigüedad: 11 años, 10 meses
Puntos: 0
En principio ese error no debería importar, sería un simple notice.

1) Prueba a hacer un echo $id; para ver si contiene algún valor.
2) Muestra el resultado de hacer un mysql_error() para ver si hay algún otro problema. Es decir:

mysql_query("DELETE FROM noticias WHERE id='$id'",$connect) or die(mysql_error());
  #4 (permalink)  
Antiguo 09/03/2006, 06:40
 
Fecha de Ingreso: julio-2004
Mensajes: 45
Antigüedad: 13 años, 5 meses
Puntos: 0
Me da un error cuando hago el Mysql error

Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in /home/webcindario/caf/noticies/borrar.php on line 10

este es el script de noticias.php
Código PHP:
<body>
<?php
include ("conexion.php");
$selec mysql_query("SELECT * FROM noticias ORDER BY id DESC");
while (
$row mysql_fetch_array($selec)) {
?>
    <table width="45%" border="1" cellspacing="0" cellpadding="0">
    <tr>
    <td><h3><?=$row[titulo]?></h3></td>
    </tr>
    <tr>
    <td><h5><?=$row[nom]?></h5></td>
    </tr>
    <tr>
    <td><?=$row[noticia]?></td>
    </tr>
    <tr>
    <a href="borrar.php?id=<?=$row[id]?>">Esborrar</a>
    </tr>
    </table><br />
<?
    
}
?> 
</body>
Y este el de borrar.php
Código PHP:
<?php
  $id
=$_POST['id'];
  include (
"conexion.php");
  
//echo $id
  //mysql_query("DELETE FROM noticias WHERE id='$id'",$connect) or die(mysql_error());

  
mysql_query("DELETE FROM noticias WHERE id='$id'",$connect);
  
header("location: noticias.php");
?>
  #5 (permalink)  
Antiguo 09/03/2006, 07:08
Avatar de Bytevamp  
Fecha de Ingreso: junio-2005
Ubicación: /var/www/
Mensajes: 789
Antigüedad: 12 años, 6 meses
Puntos: 7
Prueba a cambiar
Código PHP:
$id=$_POST['id']; 
por
Código PHP:
$id=$_GET['id']; 
a ver si asi.

Saludos.
__________________
"zankius veri mach" a todos los que me habeis ayudado.
carteles para inmobiliarias || alquiler de coches
  #6 (permalink)  
Antiguo 09/03/2006, 10:33
 
Fecha de Ingreso: julio-2004
Mensajes: 45
Antigüedad: 13 años, 5 meses
Puntos: 0
Con la linea
Código PHP:
<?php BEGIN__VBULLETIN__CODE__SNIPPET $id=$_POST['id'];
Sale el error:
Parse error: parse error, unexpected T_VARIABLE in /home/webcindario/caf/noticies/borrar.php on line 7

y si cambio POST por GET:
Código PHP:
<?php BEGIN__VBULLETIN__CODE__SNIPPET $id=$_GET['id'];
Sale el mismo error
  #7 (permalink)  
Antiguo 09/03/2006, 10:37
Avatar de david_M_G  
Fecha de Ingreso: febrero-2005
Mensajes: 938
Antigüedad: 12 años, 10 meses
Puntos: 20
Prueba a entrar por este enlace:

Código:
pagina.php?id=1
Y utiliza éste código en el PHP:

Código PHP:
<? $id=$_REQUEST['id']; ?>
  #8 (permalink)  
Antiguo 09/03/2006, 10:42
Avatar de dmedina83  
Fecha de Ingreso: mayo-2004
Ubicación: Mérida
Mensajes: 96
Antigüedad: 13 años, 6 meses
Puntos: 0
Intenta asi:
Código PHP:
<?php
  $id
=intval($_REQUEST['id']);
  include (
"conexion.php");
  
mysql_query("DELETE FROM noticias WHERE id='$id'",$connect);
  
header("location: noticias.php");
?>
__________________
WebAdictos - Una dosis diaria de web
  #9 (permalink)  
Antiguo 09/03/2006, 11:01
 
Fecha de Ingreso: julio-2004
Mensajes: 45
Antigüedad: 13 años, 5 meses
Puntos: 0
Nada no hay manera. Me estoy frustrando.
A ver si va a ser del formulario de noticias.php que no le estoy enviando bien el dato id. Aunque ya he intentado hacer de todo y no hay manera.
  #10 (permalink)  
Antiguo 09/03/2006, 11:05
Avatar de dmedina83  
Fecha de Ingreso: mayo-2004
Ubicación: Mérida
Mensajes: 96
Antigüedad: 13 años, 6 meses
Puntos: 0
mmm trata de comentar el header("location: noticias.php");

luego imprime el error de mysql

para ver cual puede ser la solucion
__________________
WebAdictos - Una dosis diaria de web
  #11 (permalink)  
Antiguo 09/03/2006, 11:06
Avatar de david_M_G  
Fecha de Ingreso: febrero-2005
Mensajes: 938
Antigüedad: 12 años, 10 meses
Puntos: 20
Es lo más seguro. Que la ID no procese bien. Puedes poner el noticias.php si quieres
  #12 (permalink)  
Antiguo 09/03/2006, 11:13
 
Fecha de Ingreso: julio-2004
Mensajes: 45
Antigüedad: 13 años, 5 meses
Puntos: 0
si comento el header sale el siguiente error:
Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in /home/webcindario/caf/noticies/borrar.php on line 14

Os dejo el link a la página en cuestión:

http://caf.webcindario.com/noticies/noticias.php

Veréis que si os poneis encima de cada link de borrar os va mostrando que id es el que toca en la barra de estado.
  #13 (permalink)  
Antiguo 09/03/2006, 11:23
Avatar de dmedina83  
Fecha de Ingreso: mayo-2004
Ubicación: Mérida
Mensajes: 96
Antigüedad: 13 años, 6 meses
Puntos: 0
ok al parecer algo malo tienes en tu consulta
intenta hacer el mysql_query asi:

mysql_query("DELETE FROM noticias WHERE id='$id'");

a ver que sale...

Nos vemos
__________________
WebAdictos - Una dosis diaria de web
  #14 (permalink)  
Antiguo 09/03/2006, 11:29
Avatar de vevni  
Fecha de Ingreso: julio-2005
Ubicación: cancun mexico
Mensajes: 598
Antigüedad: 12 años, 4 meses
Puntos: 3
Código PHP:
<a href="borrar.php?id=<?=$row[id]?>">Esborrar</a>
ahi deberias poner

Código PHP:
<a href="borrar.php?id=".<?php $row['id'?> ."&"; >Esborrar</a>
estabas duplicando el signo de =. pero prueba todos los errore con las funciones, no dejes pasar nada, usa isset, empty, etc..
__________________
Código PHP:
echo"hola mundo ver 1221332143.02";
echo
"cuantos usuarios habran impreso hola mundo en el mundo.!???"
  #15 (permalink)  
Antiguo 09/03/2006, 11:32
Avatar de vevni  
Fecha de Ingreso: julio-2005
Ubicación: cancun mexico
Mensajes: 598
Antigüedad: 12 años, 4 meses
Puntos: 3
si no imprime el row, a eso que puse solo agregale el echo y ya... por si no lo muestra!!
__________________
Código PHP:
echo"hola mundo ver 1221332143.02";
echo
"cuantos usuarios habran impreso hola mundo en el mundo.!???"
  #16 (permalink)  
Antiguo 09/03/2006, 11:32
 
Fecha de Ingreso: julio-2004
Mensajes: 45
Antigüedad: 13 años, 5 meses
Puntos: 0
Lo acabo de hacer y pruebalo tú mismo, pasa de mi olimpicamente. Si comento el header pues no sale ni error ni nada....
  #17 (permalink)  
Antiguo 09/03/2006, 11:38
Avatar de dmedina83  
Fecha de Ingreso: mayo-2004
Ubicación: Mérida
Mensajes: 96
Antigüedad: 13 años, 6 meses
Puntos: 0
mmmm ya intentaste ejecutar esa consulta desde la consola de mysql???

ya no te marca error el si comentas el header???

intenta hacerlo asi
mysql_query("DELETE FROM noticias WHERE id='".$id."'");
__________________
WebAdictos - Una dosis diaria de web
  #18 (permalink)  
Antiguo 09/03/2006, 11:43
Avatar de JorgitoAlfajor  
Fecha de Ingreso: enero-2006
Mensajes: 152
Antigüedad: 11 años, 11 meses
Puntos: 1
Probá sacando el identificador de la conexión, $connect:

Código PHP:
<?
$id
$_GET['id'];
...
mysql_query("DELETE FROM noticias WHERE id='$id'");
...
?>
Saludos.
__________________
¿Se me entiende la letra?
  #19 (permalink)  
Antiguo 09/03/2006, 11:55
 
Fecha de Ingreso: julio-2004
Mensajes: 45
Antigüedad: 13 años, 5 meses
Puntos: 0
Nada esto está muerto.
Vuelvo a postear el script para que veais como estoy ahora:

noticias.php
Código PHP:
<body>
<?php
include ("conexion.php");
$selec mysql_query("SELECT * FROM noticias ORDER BY id DESC");
while (
$row mysql_fetch_array($selec)) {
?>
    <table width="45%" border="1" cellspacing="0" cellpadding="0">
    <tr>
    <td><h3><?=$row[titulo]?></h3></td>
    </tr>
    <tr>
    <td><h5><?=$row[nom]?></h5></td>
    </tr>
    <tr>
    <td><?=$row[noticia]?></td>
    </tr>
    <tr>
    <a href="borrar.php?id=<? echo $row[id]; ?>">Esborrar</a>
    </tr>
    </table><br />
<?
    
}
?> 
</body>


borrar.php

Código PHP:
<html>
<head>
<title>Documento sin t&iacute;tulo</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

<?php
  $id
=$_POST['id'];
  include (
"conexion.php");
  
  
//echo $id
  //mysql_query("DELETE FROM noticias WHERE id='$id'",$connect) or die(mysql_error());
   
mysql_query("DELETE FROM noticias WHERE id='".$id."'");
  
//mysql_query("DELETE FROM noticias WHERE id='$id'",$connect);
  //header("location: noticias.php");
?>

</head>

<body>

</body>
</html>
  #20 (permalink)  
Antiguo 09/03/2006, 12:00
 
Fecha de Ingreso: julio-2004
Mensajes: 45
Antigüedad: 13 años, 5 meses
Puntos: 0
Atención impresionante esto funciona!!!!!!!!!!!!!

JorgitoAlfajor eres graaaaaaaannnnnnndeeeeeeee.

Gracias
  #21 (permalink)  
Antiguo 09/03/2006, 12:01
Avatar de JorgitoAlfajor  
Fecha de Ingreso: enero-2006
Mensajes: 152
Antigüedad: 11 años, 11 meses
Puntos: 1
No uses $_POST, usá $_GET (ya que estas estas enviando id por GET y no por POST). Y para que te funcione el header() tenés que borrar todas las etiquetas html. Quedaría así:

borrar.php:
Código PHP:
<?php 
  $id
=$_GET['id']; 
  include (
"conexion.php"); 
  
mysql_query("DELETE FROM noticias WHERE id='$id'") or die(mysql_error()); 
 
header("location: noticias.php"); 
?>
__________________
¿Se me entiende la letra?
  #22 (permalink)  
Antiguo 09/03/2006, 12:01
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 15 años, 10 meses
Puntos: 771
Hola silverrr111

Por lo poco que se de PHP, cuando pones <a href="borrar.php?id=<? echo $row[id]; ?>"> estás pasando los datos por el método GET, pero luego lo recoges con POST $id=$_POST['id'];

¿Has probado con $id=$_GET['id']; como creo que ya te recomendaron?

Saludos,
  #23 (permalink)  
Antiguo 09/03/2006, 12:06
 
Fecha de Ingreso: julio-2004
Mensajes: 45
Antigüedad: 13 años, 5 meses
Puntos: 0
Si ya lo habia cambiado. Gracias a todos.
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 03:44.