Foros del Web » Programando para Internet » Javascript »

ejecuta php sin solicitarlo

Estas en el tema de ejecuta php sin solicitarlo en el foro de Javascript en Foros del Web. Hola a todos. Espero que se encuentre muy bien. Tengo el siguiente código, con dos formularios, pero hacer cambio en un combox se ejecuta un ...
  #1 (permalink)  
Antiguo 04/07/2009, 00:34
 
Fecha de Ingreso: junio-2009
Mensajes: 23
Antigüedad: 14 años, 11 meses
Puntos: 1
Exclamación ejecuta php sin solicitarlo

Hola a todos. Espero que se encuentre muy bien.

Tengo el siguiente código, con dos formularios, pero hacer cambio en un combox se ejecuta un archivo .php que no deberia ejecutarse si no hasta que se hace clic en un botón alguien me puede decir por que?????

Código:
<html>
<head>
<title>Punto de venta American Sport</title>
</head>
<body bgcolor="beige">
<form method="post" action="produccion.php" name="produccion">
<?php

## Esto es bueno que lo guardes en un archivo externo y lo incluyas con include.
$conectar = mysql_connect("localhost","root","root") or die("Imposible concectar con el servidor");
mysql_select_db("american1",$conectar)or die("Error al intentar acceder a la Base de Datos");


## Estas lineas solo se ejecutan si el select fue seleccionado con una opcion valida
if((isset($_POST["selNombre"])) && (!empty($_POST['selNombre']))){
$sql_phone = mysql_query ("select telefono,compania,nombre from clientes where nombre='$_POST[selNombre]'")or die (mysql_error());
$row_phone = mysql_fetch_array($sql_phone);
$compania = $row_phone["compania"];
$telefono = $row_phone["telefono"]; 
}else{$row_phone["compania"]="";$row_phone["telefono"]="";}

$sql_nopedido=mysql_query("select * from pedidos order by nopedido desc limit 0,1") or die (mysql_error());
$row_nopedido=mysql_fetch_array($sql_nopedido);
$nopedidos=$row_nopedido["nopedido"];
$nonotas= $row_nopedido["nonota"];
$nopedido=$nopedidos+1;
$nonota=$nonotas+1;

?>

<!-- Redireccione para el mismo archivo para que lo puedas probar aqui mismo -->
<p align="center"><form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>" name="datosventa">
<table border="0">
<tr>
<td><img src="banner.jpg" width="780" height="120"></td>
</tr>
<tr>
<td>
<p align="center"><table border="0">
<tr>
<td>Nº de pedido:</td><td><input name="nopedido" type="text" id="nopedido" size="5" value="<?php echo $nopedido; ?>" /></td>

<!-- Modifique el nombre del select para que no se produscan chokes con otras nombres -->
<td>Nombre:</td><td><select name="selNombre" onChange="form.submit()">


<?php
$registros = mysql_query("select * from clientes ORDER BY nombre ASC")or die (mysql_error());

while ($row = mysql_fetch_array($registros))
{

if($row_phone['nombre'] == $row["nombre"]){
echo '<option value="'.$row["nombre"].'"  selected="selected">'.$row["nombre"].'</option>';
}else
{
echo'<option value="'.$row["nombre"].'">'.$row["nombre"].'</option>';
}
}

?>

</select></td>
</tr>
<tr>
<td>Fecha de pedido:</td><td><input name="fpedido" type="text" id="fpedido" size="10" value="<?php echo date("Y-m-d"); ?>"/></td>
<td>Compañia:</td><td><input name="compania" type="text" id="compania" size="30" value="<?php echo $row_phone["compania"];?>"/></td>
</tr>
<tr>
<td>Fecha de entrega:</td><td><input name="fentrega" type="text" id="fentrega" size="10"/></td>
<td>Teléfono:</td><td><input name="tel" type="text" id="tel" size="15" value="<?php echo $row_phone["telefono"];?>"/></td>
</tr>
<tr>
<td>Sucursal:</td><td><select sucu="sucursal">
<option>Seleccionar</option>
<option>Central</option>
<option>Libramiento</option>
</select>
</td>
<td>Nº de nota:</td><td><input name="nonota" type="text" id="nota" size"5" value="<?php echo $nonota; ?>"/></td>
</tr>
</table>
</form></p>
<?php
mysql_close($conectar);
?>
</td>
</tr>
<tr>
<td>
<center>
<iframe id="marco1" name="marco1" src="Agrega.html" width="700" height="150" scrolling="auto" frameborder="0" transparency>
<p>Asegurese de que su navegador soporte tecnologia iframe</p>
</iframe>
</center>
</td>
</tr>
<tr>
<td>
<center>
<iframe id="marco2" name="marco2" src="consulta.php" width="700" height="250" scrolling="auto" frameborder="0" transparency>
<p>Asegurese de que su navegador soporte tecnologia iframe</p>
</iframe>
</center>
</td>
</tr>
<tr>
<td>
<center>
<iframe id="macro3" name="marco3" src="prendas.php" width="700" height="90" scrolling="auto" frameborder="0" transparency>
<p>Asegurese de que su navegador sopoerte tecnología iframe</p>
</iframe>
</center>
</td>
</tr>
<tr><td><input name="Submit" type="submit" value="Confirmar"/></td></tr>
</table>
</p>
</form>
<p align="right"><a href="cuentas.html">Cuentas Clientes</a></p>
<p align="right"><a href="altascliente.php">Alta Clientes</a></p>
<a href="reportes.html">Reportes</a>
</body>
</html>
Desde ya muchas gracias por su interes y sus comentarios.
  #2 (permalink)  
Antiguo 04/07/2009, 06:18
Avatar de colote  
Fecha de Ingreso: julio-2008
Ubicación: Rosario - Santa Fe - Argentina
Mensajes: 729
Antigüedad: 15 años, 10 meses
Puntos: 8
Respuesta: ejecuta php sin solicitarlo

Si mal no veo se te ejecuta el formulario por esta linea ...

<td>Nombre:</td><td><select name="selNombre" onChange="form.submit()">

En el evento onchange estas mandando un submit, o sea cuando cambias el valor del select se envia el form !!!

Saludos, Ricardo !!!
__________________
Mail: [email protected]
  #3 (permalink)  
Antiguo 04/07/2009, 22:26
 
Fecha de Ingreso: junio-2009
Mensajes: 23
Antigüedad: 14 años, 11 meses
Puntos: 1
Respuesta: ejecuta php sin solicitarlo

que tal colote muchas gracias por tu respuesta, es verdad que tengo esta linea
<td>nombre:</td><td><select name="selNombre" onChange="form.submit()>
Pero esta dentro dun formulario con nombre "datos venta" y el archivo php que ejecuta es uno llamado produccion.php que es de un formulario que se llama produccion les agradeceria mucho me explicaran si el error es por el form.submit o por alguna otra razón

Como siempre muchas gracias por el interes y por todas sus participaciones
  #4 (permalink)  
Antiguo 05/07/2009, 06:20
Avatar de colote  
Fecha de Ingreso: julio-2008
Ubicación: Rosario - Santa Fe - Argentina
Mensajes: 729
Antigüedad: 15 años, 10 meses
Puntos: 8
Respuesta: ejecuta php sin solicitarlo

Probaste con sacarle esto >>> onChange="form.submit(), a ver que pasa ?

Saludos !!!
__________________
Mail: [email protected]
  #5 (permalink)  
Antiguo 06/07/2009, 20:42
 
Fecha de Ingreso: junio-2009
Mensajes: 23
Antigüedad: 14 años, 11 meses
Puntos: 1
Respuesta: ejecuta php sin solicitarlo

Que tal colote gracas por seguir interesado en este tema.
lo que pasa es que si saco el onChange="form.submit() ya no me rellenaria automaticamente campos al momento de camibar el valor del combox.
por eso solo quiero que cuando yo haga clic en el botón de confirmar se ejecute produccion.php y no se ejecute al hacer el cambio en el combox..

De nuevo gracias por el interes y por seguir participando
  #6 (permalink)  
Antiguo 06/07/2009, 21:58
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: ejecuta php sin solicitarlo

Tema trasladado desde PHP
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:11.