image
Inicio » Foros » JavaScript

JavaScript

Funcion Confirm + php

Volver al foro | Responder | Añadir nuevo tema


De: Aran
Fecha: 26/01/2008
Mensaje:

tengo este boton:
<a href="borrar_conciertos.php?nombre=<? echo $res["nombre"]; ?>">
<input name="eliminar" type="button" class="cwe1" value="Eliminar"/>
</a>

que lleva a este codigo :

<script language="Javascript">
ventana=confirm("Seguro que quieres Eliminarlo");
if (ventana==true)
{
<?
$servidor = "localhost";
$usuario = "";
$contrasenia = "";

$cnx = mysql_connect($servidor,$usuario,$contrasenia) or die(mysql_error());

mysql_select_db("guiamusica_bd",$cnx) or die (mysql_error());

$nombre = $_GET["nombre"];

$consulta = "DELETE FROM conciertos WHERE nombre='$nombre'";
$query = mysql_query($consulta) or die (mysql_error());
?>
window.open('','frame1');
<?
mysql_close($cnx);
?>
}
else
{
window.open('marco edicion artistas conciertos.php?grupo=<? echo $_GET["grupo"]; ?>','frame1');
}
</script>

borra perfectamente el resgistro que quiero que borre en cada momento, pero al darle a cancelar aun asi borra el registro...¿que tengo mal?


Quizás le interese
De: jbosch(vosk)
Util para: 24 personas

Fecha: 26/01/2008
Mensaje:

creo que confundes los tiempos de ejecucion de php y javascript: cuando solicitas la descarga del documento que contiene codigo php, antes de la descarga se ejecuta la parte php, luego se descarga el codigo resultante y una vez en el cliente puede o no ejecutarse la parte javascript. es decir que no es que aun cancelando la operacion borre el registro, sino que antes de la descarga ya borra el registro.

lo correcto es usar el codigo php en un archivo independiente del de la operacion de aceptar/cancelar. una vez el usuario haya aceptado solicitas el documento que lleva la parte php para eliminar el registro, o en caso que cancele la operacion no lo solicitas. seria algo asi, primero la presentacion con el dialogo

<a href="borrar_conciertos.php?nombre=<? echo $res["nombre"]; ?>">
<input name="eliminar" type="button" class="cwe1" value="Eliminar"/>
</a>

con el script en el mismo documento:

if(confirm("Seguro que quieres Eliminarlo"))
{
location.href="php_que borra_registro.php?query";
}
else
{
//lo que sea
}

en la parte query de url del php que elimina el registro tendras que enviarle los datos que identifiquen el valor a eliminar y recuperarlos desde el php con $_SERVER o con $GET, y son los que usarás para la consulta a la bdd.

y ahora independiente del documento anterior tendras el 'php_que borra_registro.php':

<?php
$servidor = "localhost";
$usuario = "";
$contrasenia = "";
...
?>

si no quieres abrirlo en la misma ventana (location.href) puedes abrir una nueva con la url del archivo php. una vez conprovado que la ejecucion del php ha sido correcta puedes avisar a la ventana principal de que la cosa ha ido bien

<?php
$servidor = "localhost";
$usuario = "";
$contrasenia = "";
...
if(!$ok) {echo "error";exit;}
?>
script_
window.opener.operacionok();
_script

pero ahora tendras que añadir una funcion en el documento perimcipal para que no falle

function borrar()
{
if(confirm("Seguro que quieres Eliminarlo"))
{
location.href="php_que borra_registro.php?query";
}
else
{
//lo que sea
}
}
function operacionok()
{
/*todo ok, puedes redirigir a otro documento, recargar los datos, lo que quieras*/
}

observa que esta funcion 'operacionok()' se ejecutará cuando la llame la ventana hija. no estaria tambien de mas que añadieras alguna funcion o que declarases alguna variable global para que mientras esperas que la ventana hija avise del estado de la operacion el usuario no intente ejecutarlo mas veces.

jbosch(vosk)



De: Aran
Util para: 2 personas

Fecha: 27/01/2008
Mensaje:

Gracias por la respuesta,anteriormente lo habia hecho asi,pero no se porque me daba problema al ponerle un onclick al boton y no funcionaba.Pero ahora ya funciona aunque tengo otro problema.

La variable en el archivo php me la devuelve vacia cuando hago la consulta...puede tener algo que ver con la programacion javascript o pongo este problema directamente en el foro de php?



De: jbosch(vosk)
Util para: 2 personas

Fecha: 27/01/2008
Mensaje:

a que variable y a que consulta te refieres?

$consulta = "DELETE FROM conciertos WHERE nombre='$nombre'";
$query = mysql_query($consulta) or die (mysql_error());

las consultas 'DELETE' retornan TRUE o FALSE.

jbosch(vosk)




De: Aran
Util para: 1 personas

Fecha: 27/01/2008
Mensaje:

si,me refiero a esa variable, la devuelve:

DELETE FROM conciertos WHERE nombre=''

la variable $nombre la devuelve vacia...y no tengo ni idea de porque,la programacion las puse asi:
en la pagina principal

<script language="Javascript">
function eliminar() {
ventana=confirm("Seguro que quieres Eliminarlo");
if (ventana)
{
window.open('borrar_conciertos.php?nombre=<? echo $res["nombre"]; ?>','frame1');
}
else
{
window.open('marco edicion artistas conciertos.php?grupo=<? echo $_GET["grupo"]; ?>','frame1');
}
}
function MM_callJS(jsStr) { //v2.0
return eval(jsStr)
}
</script>

la funcion MM_callJS la he tenido que poner,porque pniendo solamente el onclick="eliminar()", el boton no hacia absolutamente nada y asi ya funciona.

y en la otra pagina solo he puesto:

<?
$servidor = "localhost";
$usuario = "";
$contrasenia = "";

$cnx = mysql_connect($servidor,$usuario,$contrasenia) or die(mysql_error());

mysql_select_db("guiamusica_bd",$cnx) or die (mysql_error());

$nombre = $_GET["nombre"];

$consulta = "DELETE FROM conciertos WHERE nombre='$nombre'";
$query = mysql_query($consulta) or die (mysql_error());

echo $consulta;

mysql_close($cnx);
?>

(el codigo PHP)

¿Que error pued tener?

¡de nuevo gracias por responder!






De: jbosch(vosk)
Util para: 2 personas

Fecha: 28/01/2008
Mensaje:

solo se me ocurre que en la instruccion

window.open('borrar_conciertos.php?nombre=<? echo $res["nombre"]; ?>','frame1');

el valor '$res["nombre"]' sea nulo; comprueba que la query para el archivo 'borrar_conciertos.php' realmente lleve el valor que esperas.

jbosch(vosk)



De: SANTO DOMINGO XAGACÍA
Util para: 0 personas

Fecha: 28/01/2008
Mensaje:

SANTO DOMINGO XAGACÍA



De: Magdalena
Util para: 1 personas

Fecha: 02/06/2008
Mensaje:

Un saludo muy afectuoso a toda la Comunidad de este Foro. Tengo un problema con mi código de php y JavaScript. Como necesito que me confirmen si realmente quieren borrar el registro, tome código de este mismo sitio,(el cuál, me parece muy Bueno, es de gran ayuda), pero no me borra el registro. Algo estoy haciendo mal. Envío mi código y les Agradeceré mucho si alguien me ayuda.



De: jose alberto valens
Util para: 1 personas

Fecha: 16/01/2009
Mensaje:

una forma sencilla para eliminar o editar con un mensaje de confirmacion con boton tambien utilizo adodb y java script echo celda(""); esto es al function pregunta($id) { if (confirm("¿Estás seguro/a de eliminar el registro?")) { location.href="scripts/admin.php?action=7&id="+$id; } } en este caso llamo a la pagina php donde esta la funcion de borrado espero le sea de gran ayuda



De: b-boy
Util para: 2 personas

Fecha: 16/11/2010
Mensaje:

tu problema pude ser por que el boton de eliminar es de tipo submit , cambialo para que sea de tipo button. saludos!!!!!!!!!! b-boy



De: Carlos
Util para: 4 personas

Fecha: 03/02/2014
Mensaje:

Un método mucho más fácil.
Mi ejemplo:

<code>
<?php
session_start();
$delet=$_POST['borrf'];
$esta=file("../".$_SESSION['user']."/".$delet);





if($esta){?>



<script>
if(window.confirm("Desea borrar el fichero <? echo $delet; ?>?")){

<? $borrado=true; ?>

}


else{
<? $borrado=false; ?>

}

</script>

<?





if($borrado){
$borrar=unlink("../".$_SESSION['user']."/".$delet);
if(!$borrar){
?><script>alert("Fichero <? echo $delet; ?> no borrado.");window.location = "../pusuario.php";</script><?
}
else{
?><script>alert("Fichero <? echo $delet; ?> borrado.");window.location = "../pusuario.php";</script><?
}
}
else{
?><script>alert("Fichero <? echo $delet; ?> no borrado.");window.location = "../pusuario.php";</script><?
}


}
else{
?><script>alert("Fichero <? echo $delet; ?> no existe.");window.location = "../pusuario.php";</script><?

}




?>

</code>



Volver al foro | Responder | Añadir nuevo tema

Quizás le interese:

WebEstilo.com no se hace responsable de las opiniones que los usuarios puedan verter en cualquiera de los foros existentes.

Si te solucionó el problema pulsa en G+1


Gracias!






Comparte



Última modificación:31 de Agosto de 2017. Spain - Espa�a.
© 1998-2004 por . Todos los derechos reservados.