Foros del Web » Programando para Internet » PHP »

Cakephp Sistema de comentarios php error archivo borrar

Estas en el tema de Sistema de comentarios php error archivo borrar en el foro de PHP en Foros del Web. Hola tengo un problema con un archivo tengo hecho un sistema de comentarios en php y no se como hacer el archivo de borrar por ...
  #1 (permalink)  
Antiguo 17/09/2011, 08:43
(Desactivado)
 
Fecha de Ingreso: septiembre-2011
Mensajes: 283
Antigüedad: 12 años, 7 meses
Puntos: 10
Sistema de comentarios php error archivo borrar

Hola tengo un problema con un archivo tengo hecho un sistema de comentarios en php y no se como hacer el archivo de borrar por id. estos son los archivos aber si me pueden ayudar.

Este es el conect.inc
Código PHP:
PHP:
<?php 

  
$bdconex 
= @mysql_connect("localhost""root"""); 
if (!
$bdconex) { 
echo( 
"<h1>La base de datos no está disponible</h1> " 
"<p>Por si acaso, comprueba que tienes bien los datos de la dirección, el nombre de usuario y la contraseña.</p>" ); 
exit(); 
}
 if (! @
mysql_select_db("iu"$bdconex)){
 echo 
"<h2 align='center'>ERROR3: Imposible localizar la base de datos en este momento</h2>";
 exit();
 }
 
?> 
<?php
 
  
$resultado 
= @mysql_query("SELECT * FROM comentarios order by fecha desc, id desc");
 if (!
$resultado) {
 echo (
"<p> Me temo que te has colado en la query:" mysql_error() . "</p>");
 exit();
 }
 while (
$fila mysql_fetch_array($resultado)) {
 
echo (
"<strong>Nombre: </STRONG>" $fila['nombre'] . "<br />");
echo (
"<strong>Email: </STRONG>" $fila['email'] . "<br />");
echo (
"<strong>Id: </STRONG>" $fila['id'] . "<br />");
 echo (
"<strong>Comentario:</strong>" $fila['comentario'] . "<br />");
echo (
"<strong>Fecha: </STRONG>" $fila['fecha'] . "<br/>");

 
?>
 
<form action="borrar.php" method="post">
  <input type="submit" name="Submit" value="borrar">
</form>
<br/>
<?php ?>

este es el comentarios.php
Código PHP:
PHP:
<div id="content">
  <div class="feature">
          <div id="content"><img src="imagenes/comentarios.png" width="777" height="33" /></div>
    <h3>&nbsp;</h3>
   <h1>Insertar Comentario</h1>
    <p></meta>
 
 *Nota: El correo no saldr&aacute; en la p&aacute;gina de comentarios solo el nombre y el comentario saldr&aacute;. 
    <form action="insercomentario.php" method="post" ><table>
 <tr>
 <td>Nombre:</td>
 <td><input type="text" name="nombre" /></td>
 </tr>
 <tr>
 <td>E-mail</td>
 <td><input type="text" name="email" /></td>
 </tr>
 <tr>
 <td>Comentraio:</td>
 <td><textarea name="comentario"></textarea></td>
 </tr>
 <tr>
 <td><input type="submit" name="accion" value="Comentar"></td>
 <td></td>
 </tr>
 </table></form>
 <table>
 
 </table> </p>
  </div>
  <div class="story">
   <h3>Comentarios a mi sitio</h3>
    <p><tr>
 <td width="80%">
 <?php include('conect.inc');
  
?>
 </td>
 </tr> </p>
    <p>&nbsp;</p>
  </div>
</div>
Este es el insertacomentarios.php
Código PHP:
PHP:
<head>
<link rel="shortcut icon" href="imagenes/favicon.ico" />
</head>


<?php

 $bdconex 
= @mysql_connect("localhost""root""");
 if (!
$bdconex) {
 echo ( 
"<h1>La base de datos no está disponible</h1> " .
 
"<p>Por si acaso, comprueba que tienes bien los datos de la dirección, el nombre de usuario y la contraseña.</p>" );
 exit();
 }else {
 echo (
""); 
}
 if (! @
mysql_select_db("iu"$bdconex)){
 
echo 
"<h2 align='center'>ERROR3: Imposible localizar la base de datos en este momento</h2>";
 
exit();
 }else {
 echo 
"Base de datos seleccionada";
 }
 
$sql =" INSERT INTO comentarios ( id, nombre , email , comentario, fecha ) VALUES ( NULL, '".$_POST['nombre']."' , '".$_POST['email']."' , '".$_POST['comentario']."',CURDATE() )";  

if(
mysql_query($sql$bdconex)){
 echo (
"<p> Gracias por tu comentario, será redirigido automaticamente a la pagina de comentarios.</p>");
 }else{
 echo (
"Error al insertar los datos: " mysql_error() . "</p>");
 }
 
?>

y por ultimo es este el borrar php, el cual nose de donde sacar la variable id.

Código PHP:
PHP:
<?
 
 
//recibimos la variable $id 
 
$id=$_POST['$id']; 
 
//conectamos a la base 
 
$connect=mysql_connect("localhost","root",""); 
 
//Seleccionamos la base 
 
mysql_select_db("iu",$connect); 
 
//borramos los registros pertenecientes a la id 
$borrar=("delete * from comentarios where id='$id'",$connect); 
 
header("location: index.php"); 
 
?>
  #2 (permalink)  
Antiguo 17/09/2011, 10:49
3nr1c
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Sistema de comentarios php error archivo borrar

Si el código de borrar.php está completo, te falta un session_start(); al principo

Saludos
  #3 (permalink)  
Antiguo 17/09/2011, 15:53
(Desactivado)
 
Fecha de Ingreso: septiembre-2011
Mensajes: 283
Antigüedad: 12 años, 7 meses
Puntos: 10
Respuesta: Sistema de comentarios php error archivo borrar

Cita:
Iniciado por 3nr1c Ver Mensaje
Si el código de borrar.php está completo, te falta un session_start(); al principo

Saludos
Lo de session_start() es si fuese bajo registro no es cierto?? y no me borra los comentarios nose porque de donde viene la variable id? creo que ese es mi problema, eq en un compy me dijo que del formulario pero en el formulario yo no mando la id nose de donde la saco. Gracias x la ayuda.
  #4 (permalink)  
Antiguo 18/09/2011, 02:46
3nr1c
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Sistema de comentarios php error archivo borrar

session_start(); no tiene por que ser bajo registro... Siempre que necesites usar una de estas variables:

$_SESSION, $_POST, $_GET, $_COOKIE, $_...

Deberás usar session_start()

Inténtalo y ya dirás
  #5 (permalink)  
Antiguo 18/09/2011, 02:57
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: Sistema de comentarios php error archivo borrar

Cita:
Iniciado por 3nr1c Ver Mensaje
session_start(); no tiene por que ser bajo registro... Siempre que necesites usar una de estas variables:

$_SESSION, $_POST, $_GET, $_COOKIE, $_...

Deberás usar session_start()

Inténtalo y ya dirás
Hola:

session_start() solo afecta a las variables de sesión ($_SESSION), el resto de superglobales no lo requieren... lo que no encuentro es el id dentro del tag form, así que $:POST["id"] quedará vacío...

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #6 (permalink)  
Antiguo 18/09/2011, 03:35
3nr1c
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Sistema de comentarios php error archivo borrar

Ciero, se me ha escapado :-p

Entonces, deberás añadir un <input> de tipo 'hidden':

Código HTML:
Ver original
  1. <input type="hidden" name="id" value="valorid"/>

Saludos!
  #7 (permalink)  
Antiguo 18/09/2011, 04:10
(Desactivado)
 
Fecha de Ingreso: septiembre-2011
Mensajes: 283
Antigüedad: 12 años, 7 meses
Puntos: 10
Respuesta: Sistema de comentarios php error archivo borrar

Cita:
Iniciado por 3nr1c Ver Mensaje
Ciero, se me ha escapado :-p

Entonces, deberás añadir un <input> de tipo 'hidden':

Código HTML:
Ver original
  1. <input type="hidden" name="id" value="valorid"/>

Saludos!
pero en value tengo que poner algo o lo dejo como tu me lo mandas? eq soy nuevo en esto no tengo muxa idea. Gracias por la ayuda.
  #8 (permalink)  
Antiguo 18/09/2011, 04:25
3nr1c
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Sistema de comentarios php error archivo borrar

Depende... es que en tu código no he visto nada (un boton o algo) que permitiera borrar los comentarios. Es más, ni siquiera tienes nada para ver los comentarios, me equivoco?
  #9 (permalink)  
Antiguo 18/09/2011, 04:58
(Desactivado)
 
Fecha de Ingreso: septiembre-2011
Mensajes: 283
Antigüedad: 12 años, 7 meses
Puntos: 10
Respuesta: Sistema de comentarios php error archivo borrar

Cita:
Iniciado por 3nr1c Ver Mensaje
Depende... es que en tu código no he visto nada (un boton o algo) que permitiera borrar los comentarios. Es más, ni siquiera tienes nada para ver los comentarios, me equivoco?
el codigo para ver los comentarios esta en el primer archivo coonect.inc es que nose hacerlo de otra forma. nose lo que es lo que me falta el boton de borrar los comentarios tambien esta en ese archivo. Debería de modificar todo o como lo podrá hacer para que funcionase bien??
  #10 (permalink)  
Antiguo 18/09/2011, 05:39
3nr1c
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Sistema de comentarios php error archivo borrar

Ui lo siento :p es que no lo havia visto.

Bien, dentro del form de el archivo conect.inc para borrar el comentario, tendrías que añadir:

Código HTML:
Ver original
  1. <input type="hidden" name="id" value="<?php echo $fila['id']; ?>"/>

Antes o después del boton, da igual.

Así te debería de funcionar
  #11 (permalink)  
Antiguo 18/09/2011, 06:10
(Desactivado)
 
Fecha de Ingreso: septiembre-2011
Mensajes: 283
Antigüedad: 12 años, 7 meses
Puntos: 10
Respuesta: Sistema de comentarios php error archivo borrar

O no se hacerlo o me sigue sin funcionar. eso lo pongo asi
<form action="" method="post">
<input type="submit" name="Submit" value="borrar">
<input type="hidden" name="id" value="<?php echo $fila['id']; ?>"/>

</form>

y ya esta o tengo que poner algo más??
  #12 (permalink)  
Antiguo 18/09/2011, 06:36
3nr1c
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Sistema de comentarios php error archivo borrar

Más o menos... el formulario debería ser así:

Código HTML:
Ver original
  1. <form action="borrar.php" method="post">
  2. <input type="hidden" name="id" value="<?php echo $fila['id']; ?>"/>
  3. <input type="submit" name="Submit" value="borrar">
  4. </form>
  #13 (permalink)  
Antiguo 18/09/2011, 07:05
(Desactivado)
 
Fecha de Ingreso: septiembre-2011
Mensajes: 283
Antigüedad: 12 años, 7 meses
Puntos: 10
Respuesta: Sistema de comentarios php error archivo borrar

Sigue sin funcionarme esto es lo que he hecho con el codigo:

Este es conect.inc
Código PHP:
<?php 

  
$bdconex 
= @mysql_connect("localhost""root"""); 
if (!
$bdconex) { 
echo( 
"<h1>La base de datos no está disponible</h1> " 
"<p>Por si acaso, comprueba que tienes bien los datos de la dirección, el nombre de usuario y la contraseña.</p>" ); 
exit(); 
}
 if (! @
mysql_select_db("iu"$bdconex)){
 echo 
"<h2 align='center'>ERROR3: Imposible localizar la base de datos en este momento</h2>";
 exit();
 }
 
?> 
<?php
 
  
$resultado 
= @mysql_query("SELECT * FROM comentarios order by fecha desc, id desc");
 if (!
$resultado) {
 echo (
"<p> Me temo que te has colado en la query:" mysql_error() . "</p>");
 exit();
 }
 while (
$fila mysql_fetch_array($resultado)) {
 
echo (
"<strong>Nombre: </STRONG>" $fila['nombre'] . "<br />");
echo (
"<strong>Email: </STRONG>" $fila['email'] . "<br />");
echo (
"<strong>Id: </STRONG>" $fila['id'] . "<br />");
 echo (
"<strong>Comentario:</strong>" $fila['comentario'] . "<br />");
echo (
"<strong>Fecha: </STRONG>" $fila['fecha'] . "<br/>");

 
?>

 <form action="borrar.php" method="post">
<input type="hidden" name="id" value="<?php echo $fila['id']; ?>"/>
<input type="submit" name="Submit" value="borrar">
</form> 

<br/>
<?php ?>
y el borrar sigue asi:
Código PHP:
<?


 
//recibimos la variable $id 
 
$id=$_POST['id']; 
 
//conectamos a la base 
 
$connect=mysql_connect("localhost","root",""); 
 
//Seleccionamos la base 
 
mysql_select_db("iu",$connect); 
 
//borramos los registros pertenecientes a la id 
$borrar=("delete * from comentarios where id='$id'",$connect); 
 
header("location: index.php"); 
 
?>
Donde tengo el problema de que no me lo borre?

Última edición por edyuin; 18/09/2011 a las 07:10
  #14 (permalink)  
Antiguo 18/09/2011, 07:17
3nr1c
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Sistema de comentarios php error archivo borrar

En el código de borrar.php, cambia esto:

Código PHP:
Ver original
  1. //borramos los registros pertenecientes a la id
  2. $borrar=("delete * from comentarios where id='$id'",$connect);

por esto:

Código PHP:
Ver original
  1. //borramos los registros pertenecientes a la id
  2. mysql_query("delete * from comentarios where id='$id'",$connect);

El problema era la consulta...
  #15 (permalink)  
Antiguo 18/09/2011, 07:25
(Desactivado)
 
Fecha de Ingreso: septiembre-2011
Mensajes: 283
Antigüedad: 12 años, 7 meses
Puntos: 10
Respuesta: Sistema de comentarios php error archivo borrar

Nada no hay manera mira he hecho lo que mas dixo:

conect.inc
Código PHP:
<?php 

  
$bdconex 
= @mysql_connect("localhost""root"""); 
if (!
$bdconex) { 
echo( 
"<h1>La base de datos no está disponible</h1> " 
"<p>Por si acaso, comprueba que tienes bien los datos de la dirección, el nombre de usuario y la contraseña.</p>" ); 
exit(); 
}
 if (! @
mysql_select_db("iu"$bdconex)){
 echo 
"<h2 align='center'>ERROR3: Imposible localizar la base de datos en este momento</h2>";
 exit();
 }
 
?> 
<?php
 
  
$resultado 
= @mysql_query("SELECT * FROM comentarios order by fecha desc, id desc");
 if (!
$resultado) {
 echo (
"<p> Me temo que te has colado en la query:" mysql_error() . "</p>");
 exit();
 }
 while (
$fila mysql_fetch_array($resultado)) {
 
echo (
"<strong>Nombre: </STRONG>" $fila['nombre'] . "<br />");
echo (
"<strong>Email: </STRONG>" $fila['email'] . "<br />");
echo (
"<strong>Id: </STRONG>" $fila['id'] . "<br />");
 echo (
"<strong>Comentario:</strong>" $fila['comentario'] . "<br />");
echo (
"<strong>Fecha: </STRONG>" $fila['fecha'] . "<br/>");

 
?>

 <form action="borrar.php" method="post">
<input type="hidden" name="id" value="<?php echo $fila['id']; ?>"/>
<input type="submit" name="Submit" value="borrar">
</form>


<br/>
<?php ?>
este es el borrar.php
Código PHP:
<?


 
//recibimos la variable $id 
 
$id=$_POST['id']; 
 
//conectamos a la base 
 
$connect=mysql_connect("localhost","root",""); 
 
//Seleccionamos la base 
 
mysql_select_db("iu",$connect); 
 
//borramos los registros pertenecientes a la id 
mysql_query("delete * from comentarios where id='$id'",$connect);
 
header("location: index.php"); 
 
?>
y el frmulario que manda los comentarios
Código PHP:
<form id="comentarios" action="../insercomentario.php" method="post" ><table>
 <
tr>
 <
td>Nombre:</td>
 <
td><input name="nombre" type="text" value="Admin" /></td>
 </
tr>
 <
tr>
 <
td>E-mail</td>
 <
td><input name="email" type="text" value="[email protected]/></td>
 </
tr>
 <
tr>
 <
td>Comentraio:</td>
 <
td><textarea name="comentario"></textarea></td>
 </
tr>
 <
tr>
 <
td></td>
 <
td><input type="submit" name="accion" value="Comentar"></td>
 </
tr>
 </
table></form>
 <
table
Nose que es lo que falla, resulta que si mando ese formulario por get la direccion de arriba me manda todo esto mira:
http://localhost/iuyuncos/iu/admin/borrar.php?id=12&Submit=borrar

Yo solo quiero que mande el id y asi si se borraría no es cierto??
Como lo ago??
Muchas gracias.

Última edición por edyuin; 18/09/2011 a las 07:47
  #16 (permalink)  
Antiguo 18/09/2011, 07:51
(Desactivado)
 
Fecha de Ingreso: septiembre-2011
Mensajes: 283
Antigüedad: 12 años, 7 meses
Puntos: 10
Respuesta: Sistema de comentarios php error archivo borrar

Me falta quizas algo nose esque nose si debería poner $algo=@mysql_query o como hacerlo nose si sería mejor por get o post, amí me da= como mande los datos soloo quiero que borre el comentario aber si alguien me puede ayudar y damos con ello porque me tiene loco jeje.
  #17 (permalink)  
Antiguo 18/09/2011, 08:02
3nr1c
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Sistema de comentarios php error archivo borrar

Con el método get sería poco seguro... (cualquiera podría borrar el comentario que quisiera con sólo conocer la url necesaria). Lo que sí está mal es la consulta mysql. Tienes que quitar el asterisco:

Código SQL:
Ver original
  1. DELETE FROM comentarios WHERE id='$id'

Aparte de esto, no veo muchos más fallos... Pero por si acaso, añade or die(mysql_error()) después de la consulta para borrar el comentario (para depurar).
  #18 (permalink)  
Antiguo 18/09/2011, 08:10
(Desactivado)
 
Fecha de Ingreso: septiembre-2011
Mensajes: 283
Antigüedad: 12 años, 7 meses
Puntos: 10
Respuesta: Sistema de comentarios php error archivo borrar

como quedaría el archivo asi?
Código PHP:
<?


 
//recibimos la variable $id 
 
$id=$_POST['id']; 
 
//conectamos a la base 
 
$connect=mysql_connect("localhost","root",""); 
 
//Seleccionamos la base 
 
mysql_select_db("iu",$connect); 
  
//borramos los registros pertenecientes a la id 
  
mysql_query("delete from comentarios where id='$id'",$connect, or die(mysql_error()); 
 
header("location: index.php"); 
 
?>
Es que lo del or die no lo he hecho nunka entonces nose como quedaría, de toas formas esto asi tampoco me funciona.
hay algo mal.
Gracias x la ayuda.
  #19 (permalink)  
Antiguo 18/09/2011, 08:18
3nr1c
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Sistema de comentarios php error archivo borrar

Ok te explico...

Or es un comparador lógico, y die() es una función que se usa para terminar la ejecución del script (Algo como exit). Entonces tendrías que usarlo así:

Código PHP:
Ver original
  1. mysql_query("delete from comentarios where id='$id'",$connect)or die(mysql_error());
  #20 (permalink)  
Antiguo 18/09/2011, 08:48
(Desactivado)
 
Fecha de Ingreso: septiembre-2011
Mensajes: 283
Antigüedad: 12 años, 7 meses
Puntos: 10
Respuesta: Sistema de comentarios php error archivo borrar

Aun así me sigue sin funcionar nada no borra los comentarios. Tengo mas errores y gracias por la explicación, nose xq no me funciona....
  #21 (permalink)  
Antiguo 18/09/2011, 13:51
(Desactivado)
 
Fecha de Ingreso: septiembre-2011
Mensajes: 283
Antigüedad: 12 años, 7 meses
Puntos: 10
Respuesta: Sistema de comentarios php error archivo borrar

Oye no me borra los comentarios pero tampoco me vuelca un error esto es muy raro no?
y e puesto lo del or die.
  #22 (permalink)  
Antiguo 19/09/2011, 05:40
(Desactivado)
 
Fecha de Ingreso: septiembre-2011
Mensajes: 283
Antigüedad: 12 años, 7 meses
Puntos: 10
Respuesta: Sistema de comentarios php error archivo borrar

ya esta lo he conseguido gracias a vosotros e internet. muchas gracias y por si a otro le interesa y tiene el mismo problema dejo aki mi archivo borrar.php
Código PHP:
<?php

 $id 
$_POST["id"];
 
if (isset(
$id))
 { 
//Conectamos con la base de datos
 
$link=mysql_connect("localhost","root","");
 
mysql_select_db("iu"$link);
 
$sql "DELETE from comentarios WHERE id='$id'"
$result mysql_query($sql);
 }else{
 echo 
"Debe especificar un 'id'.\n";
 }
 
?>

Etiquetas: borrar, comentarios, mysql, registro, sistema, sql, variables, usuarios
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:46.