Foros del Web » Programando para Internet » PHP »

Php ~ Javascript?

Estas en el tema de Php ~ Javascript? en el foro de PHP en Foros del Web. Hola... Tengo un problema.... estoy terminando una web que esta hecha basicamente en php y mysql. El caso es que es una base de datos, ...
  #1 (permalink)  
Antiguo 26/06/2003, 10:04
 
Fecha de Ingreso: junio-2003
Mensajes: 744
Antigüedad: 14 años, 5 meses
Puntos: 0
Php ~ Javascript?

Hola...

Tengo un problema.... estoy terminando una web que esta hecha basicamente en php y mysql. El caso es que es una base de datos, da la posibilidad de añadir, modificar... y elimimnar productos, mi problema esta en que antes de eliminar el producto quiero que pregunte si se desea realmente eliminar... he conseguido mediante un script con un confirm que pregunte pero no se como pasar la variable del si o del no.. puesto que haga lo que haga siempre me borra el registro... Me podrías ayudar por favor?

Asi es como lo hacia:


<script language="JavaScript" type="text/javascript">

var respuesta = confirm("Se procederá a la eliminacion del artículo escogido")

if (respuesta==true )
<?

conexion con bdd y consulta

?>

else

{ self.close(); history.back(); }
  #2 (permalink)  
Antiguo 26/06/2003, 10:14
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Hola,

Esto no lo puedes hacer asi. No es asi como trabaja PHP. Primero se ejecuta todo el codigo PHP en el servidor, manda el HTML/javascript a el navegador y alli se ejecuta el javascript. Si quieres que se ejecute codigo en funcion de algo que haces en javascript, tendrias que mandar cargar otra vez la pagina con los parametros para indicar a PHP que codigo ejecutar.

Por ejemplo, en tu caso seria:

<script language="JavaScript" type="text/javascript">

var respuesta = confirm("Se procederá a la eliminacion del artículo escogido")

if (respuesta==true )
{ location.href="pagina.php?eliminar=si&id=124"; }
else

{ self.close(); history.back(); }

Por supuesto, esto no funcionaria tal cual. Tendrias que pasar el id del registro a borrar.

Normalmente esto se puede hacer con el onsubmit de un formulario. En este caso el confirm sale en el formulario antes de cargar otra pagina al dar al boton de submit.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #3 (permalink)  
Antiguo 26/06/2003, 10:25
 
Fecha de Ingreso: junio-2003
Mensajes: 744
Antigüedad: 14 años, 5 meses
Puntos: 0
Gracias, ahora entiendo porque pasaba de mi todo el rato.
Una cosa, ayer también estuve probando como tu me has dicho... Y ahora acabo de volver a probar (por si un caso ayer hacia una cosa distinta) pero sigue pasandome lo mismo...
A ver como me explico..
Tengo una primera pagina php que tiene el codigo del producto y este codigo lo paso a la pagina donde esta el script pero ahora de mandarlo a una tercera pagina no me envia la variable.

me explico?

Este es el codigo exacto:

<script language="JavaScript" type="text/javascript">

var respuesta = confirm("Se procederá a la eliminacion del artículo escogido")

<script>

if (respuesta==true )

{
location.href="borrar2.php?cod=variable1";
}
else

{
self.close(); history.back();
}


</script>
  #4 (permalink)  
Antiguo 26/06/2003, 10:49
Avatar de nuevo  
Fecha de Ingreso: mayo-2003
Ubicación: Spain
Mensajes: 2.009
Antigüedad: 14 años, 7 meses
Puntos: 2
una pregunta.... porque no lo haces con un Formulario de Confirmacion... yo lo hago asi... y no uso java.. solo html y php.

Código PHP:
<?php
echo <<< HTML
<table cellspacing=1 cellpadding=3 width="459" bgcolor=Black border=0>
    <tbody>
        <tr>
            <td colspan="2" align=left bgcolor=gray width="449"><b><font color=white size=2>CONFIRMAR BORRAR:</font></td>
        </tr>
        <tr height="88">
            <td colspan="2" align="center" valign="middle" bgcolor="gray" width="449" height="88"><br>
                <form method="post" action="$pag?accion=eliminar">
                    <div align="center">
                        <input type="hidden" name="id" value="$resultados
[id]">
<table align="center" cellspacing=1 cellpadding=2 width="252" bgcolor=black border=0>
    <tbody>
        <tr height="19">
            <td valign="bottom" bgcolor="#696969" width="252" height="19">
                <div align="center"><font color=white size=1>ESTA USTED CONFORME ???</font></div>
            </td>
        </tr>
</tbody>
</table>
    <br>
       </div>
    </td>
    </tr>
        <tr height="21">
                <td align="center" bgcolor=gray width="325" height="21"><input type="submit" name="Submit" value=" ELIMINAR " class="botones3"> </td>
                <td align="center" valign="middle" bgcolor=gray width="117" height="21"><input type="button" value=" VOLVER " onclick="history.back()" class="botones3"></td>
    </tr>
</form>
HTML;

if (
$accion=="eliminar"){

echo 
"Aqui pones tu codigo de borrar";// aqui dentro tienes que poner tu codigo de borrar
exit;
}
?>
te lo dejo con el id, y la variable $resultados, por si quieres pasar los datos... que seguro que lo necesitaras
__________________
3w.valenciadjs.com
3w.laislatv.com

Última edición por nuevo; 26/06/2003 a las 10:58
  #5 (permalink)  
Antiguo 26/06/2003, 15:02
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Este es el problema:
location.href="borrar2.php?cod=variable1";

con esto estas pasando el texto variable1 en el parametro cod. El la pagina que realiza el borrado tendras algo como $_GET['cod'] y eso siempre valdra la cadena 'variable1'. La solucion seria:
Código PHP:
location.href="borrar2.php?cod=<?php echo $_GET['codigo']; // o $_POST y con el nombre del parametro que has pasado con el codigo de producto?>";
Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
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 09:30.