Foros del Web » Programando para Internet » PHP »

error en el script

Estas en el tema de error en el script en el foro de PHP en Foros del Web. Hola foreros amigos, estoy intentando hacer una herramienta que atraves de un form me borre los emails de mi db, me explico; necesito que al ...
  #1 (permalink)  
Antiguo 30/11/2006, 18:44
 
Fecha de Ingreso: octubre-2006
Mensajes: 137
Antigüedad: 17 años, 6 meses
Puntos: 2
error en el script

Hola foreros amigos, estoy intentando hacer una herramienta que atraves de un form me borre los emails de mi db, me explico; necesito que al poner un email en la casilla input y le de a borrar, se borre ese email de la db: bueno os dejo el script que no me funciona haber si me podeis echar una mano gracias. Me urge bastante

<?
$comprueba=$_POST["comprueba"];

$mail=$_POST['mail'];


if ($comprueba!=='6969'){

echo "<form method='post' action='./baja.php'>

<input type='hidden' name='comprueba' value='6969' />

MAIL<input type='text' name='mail' size='80' />
<input type='submit' name='Submit' value='borrar' />

</form>";

}{
//servidor mysql:

$servidor = "localhost";

//base de datos:

$bd = "holita";

//login para la base de datos:

$login_bd = "user";

//password para la base de datos:

$pass_bd = "estono";

$bd_id = @mysqli_connect("$servidor", "$login_bd", "$pass_bd") or die ('No es posible conectar por:<br /><br />');

@mysqli_select_db ($bd_id , "holita") or die ('No es posible seleccionar la Base de Datos por:<br /><br />');

echo mysqli_connect_error($bd_id);

$qry = "DELETE FROM emails WHERE email = '$mail'";

if (mysqli_query($bd_id, $qry) === TRUE) { echo "MAIL BORRADO"; }

}
?>
  #2 (permalink)  
Antiguo 30/11/2006, 18:54
 
Fecha de Ingreso: mayo-2005
Mensajes: 72
Antigüedad: 18 años, 10 meses
Puntos: 1
al final cambia:

if (mysqli_query($bd_id, $qry) === TRUE) { echo "MAIL BORRADO"; }

por

if (mysqli_query($bd_id, $qry)) { echo "MAIL BORRADO"; } else { echo "mail no pudo ser borrado";}
__________________
Diseñador Gráfico / Programador PHP / Cisco Certified Network Associate (CCNA) / CSS / Java Scripting / SQL / C-Scripting / Entre otros...

:cool:
BOX
  #3 (permalink)  
Antiguo 30/11/2006, 18:59
 
Fecha de Ingreso: octubre-2006
Mensajes: 137
Antigüedad: 17 años, 6 meses
Puntos: 2
Hola de nuevo, e cambiado eso, pero no tiene que ver creo, lo que me has aportado es para que notifique si si o sino se borra... me sigue sin ir, el comportamiento que me da es de darle al boton borrar y llevarme a una pagina en blanco que me dice abajo en la barra de navegacion Terminado pero nada mas y luego en la db sigue estando el email. para la db e creado una de prueba en la cual e metido una tabla y dos campos (id, email) e puesto el id en INT, autoincrement y UNSIGNED, pero email lo e dejado en VARCHAR normal y todo normal sin tocar nada, asi esta bien
?
  #4 (permalink)  
Antiguo 30/11/2006, 19:00
 
Fecha de Ingreso: mayo-2006
Mensajes: 178
Antigüedad: 17 años, 11 meses
Puntos: 7
Hola

veamos: para que es esta linea?

Código PHP:
if ($comprueba!=='6969'){ 
imagino que es para procesar el script solo cuando se submite el formulario. a mi no me termina de cerrar el operador !==, no recuerdo haberlo visto, querras decir != (distinto)??

cuando haces la conexion a la base yo pondria los nombre de las variables sin encerrarlas entre comillas.

para que guardar el nombre de la base en una variable si despues la llamas con texto fijo??

la consulta esta bien, solo que tenes al reves las variables:

Código PHP:
mysqli_query($bd_id$qry
primero tenes que poner la sentencia sql y despues el identificador de la conexion.

fijate y cualquier cosa chifla, saludos.
  #5 (permalink)  
Antiguo 30/11/2006, 19:04
 
Fecha de Ingreso: octubre-2006
Mensajes: 137
Antigüedad: 17 años, 6 meses
Puntos: 2
Soy bastante novato en php pero quiero aprender y hago cosas aveces que no cuadran como podran ocmprobar, voy a realizar esos cambios , gracias jona77 y Boxi, enseguida esoty con vosotros de nuevo
  #6 (permalink)  
Antiguo 30/11/2006, 19:09
 
Fecha de Ingreso: octubre-2006
Mensajes: 137
Antigüedad: 17 años, 6 meses
Puntos: 2
e realizao estos cambios ya y me sigue sin ir :(, que puede ser? yo lo veo todo correcto..
  #7 (permalink)  
Antiguo 30/11/2006, 20:30
 
Fecha de Ingreso: mayo-2005
Mensajes: 72
Antigüedad: 18 años, 10 meses
Puntos: 1
verifique tu script este debe funcionar,

Código PHP:
<?
echo '<form method="post" action="./baja.php">

<input type="hidden" name="comprueba" value="6969" />

MAIL<input type="text" name="mail" size="80" />
<input type="submit" name="Submit" value="borrar" />

</form>'
;

if (
$_POST["comprueba"]=="6969"){
$mail=$_POST['mail'];
//servidor mysql:

$servidor "localhost";

//base de datos:

$bd "holita";

//login para la base de datos:

$login_bd "user";

//password para la base de datos:

$pass_bd "estono";

$bd_id = @mysql_connect("$servidor""$login_bd""$pass_bd") or die ('No es posible conectar por:<br /><br />');

@
mysql_select_db ("holita",$bd_id) or die ('No es posible seleccionar la Base de Datos por:<br /><br />');

//echo mysqli_connect_error($bd_id);

$qry "DELETE FROM emails WHERE email = '$mail'";
$sql_query mysql_query($bd_id$qry) or die("Error ejecutando query: ".mysql_error());
if (
$sql_query) { echo "MAIL BORRADO"; }

}
?>
arregle todo por completo con funciones que te funcionan con PHP 3,4,5 ya que la funciones que estas usando funcionan solo en PHP5 como "mysqli_query()"

buena suerte estoy seguro de que ahora si funciona. pruebalo y me dices.
__________________
Diseñador Gráfico / Programador PHP / Cisco Certified Network Associate (CCNA) / CSS / Java Scripting / SQL / C-Scripting / Entre otros...

:cool:
BOX
  #8 (permalink)  
Antiguo 30/11/2006, 21:00
 
Fecha de Ingreso: octubre-2006
Mensajes: 137
Antigüedad: 17 años, 6 meses
Puntos: 2
perfecto tio, habia solo un error

habias puesto esto: $sql_query = mysql_query($bd_id, $qry)

y a funcionado con esto : $sql_query = mysql_query($qry, $bd_id) :S

y me puedes ayudar a listar por ejemplo la tabla de mails?? es que tardo mucho en programar y seguro me agilizas la memoria
Es decir que dentro de la misma hoja con otro boton con value listar liste un email por fila ...
muchas gracias.
  #9 (permalink)  
Antiguo 01/12/2006, 11:45
 
Fecha de Ingreso: octubre-2006
Mensajes: 137
Antigüedad: 17 años, 6 meses
Puntos: 2
Buenas de nuevo, ahora tengo un problema, el script funciona correctamente pero cuando cargo la pagina, directamente sale no se a podido borrar el email, esto no se porque puede ser... espero me digan algo plis. os copio codigo y de paso me gustaria saber como meteis el codigo en una ventana para que se vea mejor:

<form method="post" action="baja.php">
<table width="406" height="129" border="0" align="center">
<tr>
<td height="25" colspan="4"><img src="images/cabecera.jpg" width="400" height="25" /></td>
</tr>
<tr>
<td width="83" height="29"><div align="right"><img src="images/guion.jpg" width="20" height="20" /></div></td>
<td width="50"><span class="Estilo1">E-mail
<input type="hidden" name="comprueba" value="6969" />
</span></td>
<td width="112"><label>
<input name="mail" type="text" id="mail" size="15" />
</label></td>
<td width="143"><input name="Submit" type="submit" class="Estilo2" value="Borrar email" /></td>
</tr>
<tr>
<td></td>
<td colspan="3" class="Estilo1"><?
if ($sql_query) {
echo "E-mail borrado";
}
else {
echo "No se ha podido borrar el e-mail"; }
?> </td>
</tr>
</table>
</form>
<?
if (isset($_POST['mail']) && ($_POST["comprueba"]=="6969")){
$mail=$_POST['mail'];
//servidor mysql:

$servidor = "localhost";

//base de datos:

$bd = "n0ck";

//login para la base de datos:

$login_bd = "n0ck11";

//password para la base de datos:

$pass_bd = "n0ckete";
}
?>
<?
//Conectamos a la base de datos

$bd_id = @mysql_connect($servidor, $login_bd, $pass_bd) or die ('No es posible conectar por:<br /><br />');
@mysql_select_db ($bd,$bd_id) or die ('No es posible seleccionar la Base de Datos por:<br /><br />');

$qry = "DELETE FROM emails WHERE email = '$mail'";
$sql_query = mysql_query($qry, $bd_id) or die("Error ejecutando query: ".mysql_error());
?>

</body>
</html>

podeis visualizar el problema en:
films-degenerados.net/borrar_email/baja.php

saludos
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 23:49.