Comunidad de diseño web y desarrollo en internet online

problema con fomulario php

Citar            
MensajeEscrito el 23 Jun 2005 10:28 pm
como estan ??
tenia este formulario funcionando perfecto, ahora he cambiado de disco y acabo de instalar el apache y el php, ya me funciona bien pero en el siguiente codigo no me acepta el primer if y por logica el else tampoco, lleno los datos pero no hace absolutamente nada, ya he probado que el php me saque la informacion y lo hace bien. el problema es que no me saca ni un solo error, no tengo idea que sera lo que me esta fallando, gracias de antemano por su colaboracion.

<? if(!isset($dato)) { ?>
<form name="form1" method="post" action="">
busqueda por telefono: <p>
<input name="cliente1" type="text" id="cliente1">
</p>
busqueda por modelo:
<p> <input name="modelos" type="text" id="modelos">

</p> busqueda por nombre cliente:
<p> <input name="nombrecliente" type="text" id="nombrecliente">

</p>
<tr>
<td>
<div align="center">
<input name="dato" type="submit" value="Enviar">
</div></td>
</tr>
<p>&nbsp; </p>
</form>

<? }
else{
include("include/conectar.inc.php");
include("include/consulta.inc.php");
$conexion=conectar();

}

Por jhonny97

9 de clabLevel



Genero:Masculino  

Bogota

msie
Citar            
MensajeEscrito el 23 Jun 2005 10:50 pm
<? if(!isset($_POST['dato'])) { ?>
<form name="form1" method="post" action="?">
busqueda por telefono: <p>
<input name="cliente1" type="text" id="cliente1">
</p>
busqueda por modelo:
<p> <input name="modelos" type="text" id="modelos">

</p> busqueda por nombre cliente:
<p> <input name="nombrecliente" type="text" id="nombrecliente">

</p>
<tr>
<td>
<div align="center">
<input name="dato" type="submit" value="Enviar">
</div></td>
</tr>
<p>&nbsp; </p>
</form>

<? }
else{
include("include/conectar.inc.php");
include("include/consulta.inc.php");
$conexion=conectar();

}
?>
revisa los datos que estan en letras negritas.

Por jhony192

791 de clabLevel

1 tutorial

Genero:Masculino  

Just Another Programmer

firefox
Citar            
MensajeEscrito el 23 Jun 2005 11:10 pm
me podrias explicar la diferencia poque ya pasa al else pero las busquedas no las hace.

Por jhonny97

9 de clabLevel



Genero:Masculino  

Bogota

msie
Citar            
MensajeEscrito el 23 Jun 2005 11:21 pm
1.- ¿Qué versión de PHP tienes?
2.- La forma correcta de recoger las variables es $_POST o $_GET, dependiendo de la forma en que las hayas pasado. Por seguridad, tus scripts deben verificar que la forma en que se pasaron las variables, es la que tú esperabas y no es intento de meter acciones ajenas al motivo determinado originalmente para tu script. ¿Me explico o te pierdo? :shock:
3.- ¿Dónde se ejecutará el script? ¿En la misma página? Si es así, es mejor que se lo indiques a tu forma

Código :

action="#"


Ó

Código :

action="<?php echo $_SERVER['PHP_SELF']; ?>"


Ó

Código :

action="la_pagina_que_quieres.php"


éXITO!

Por Pedro

BOFH

3017 de clabLevel

3 tutoriales
6 articulos

  Bastard Operators From Hell

Honduras

firefox
Citar            
MensajeEscrito el 23 Jun 2005 11:35 pm
los datos los envio en la misma pagina, despues del else hago un echo de las variables que leo en el formulario y no me esta enviando nada, ya le coloque # que me aconcejaste pero igual no me envia las variables, crees que leo mal las variables?
gracias por tu ayuda.

Por jhonny97

9 de clabLevel



Genero:Masculino  

Bogota

msie
Citar            
MensajeEscrito el 24 Jun 2005 12:38 am

jhonny97 escribió:

los datos los envio en la misma pagina, despues del else hago un echo de las variables que leo en el formulario y no me esta enviando nada, ya le coloque # que me aconcejaste pero igual no me envia las variables, crees que leo mal las variables?
gracias por tu ayuda.
¿Dónde está el echo? No lo veo. Quizá el error está en los otros archivos incluidos...
¿Puedes revelarlos aquí?

Por Pedro

BOFH

3017 de clabLevel

3 tutoriales
6 articulos

  Bastard Operators From Hell

Honduras

firefox
Citar            
MensajeEscrito el 24 Jun 2005 06:55 pm
mira asi estaba funcionando el codigo, ahora en action le agregue el # y y en el if agregue $_POST['dato'] , despues del else agregue un echo imprimiendo un valor leido en el fomulario pero no me lo pasa, gracias por su colaboracion.

<? if (!isset($dato)){ ?>
<form name="form1" method="post" action="">
busqueda por telefono: <p>
<input name="cliente1" type="text" id="cliente1">
</p>
busqueda por modelo:
<p> <input name="modelos" type="text" id="modelos">

</p> busqueda por nombre cliente:
<p> <input name="nombrecliente" type="text" id="nombrecliente">

</p>
<tr>
<td>
<div align="right">
<input name ="dato"
type="submit" value="Enviar">
</div></td>
</tr>
<p>&nbsp; </p>
</form>
<p>&nbsp;


</p>
<hr>
<? }
else{
echo "$cliente1";

include("include/conectar.inc.php");
include("include/consulta.inc.php");

$conexion=conectar();
mysql_select_db("mybd",$conexion);
if($conexion){
$consulta="SELECT fecha,cliente,telefono,direccion,lugar,modelo,agencia,hora_entrada,hora_salida,valor_total,comentario from mytt";
$busqueda=consulta($consulta,$conexion);
if(mysql_num_rows($busqueda)>0)
{
?>
<center> <table border="2"><tr>
<td> NOMBRE <br> </td>
<td> DIRECCION </td>
<td> TELEFONO </td>
<td> LUGAR </td>
<td> MODELO </td>
<td> AGENCIA </td>
<td> HORA ENTRADA </td>
<td> HORA SALIDA </td>
<td> VALOR TOTAL</td>
<td> COMENTARIO</td>
<td> FECHA</td>
</tr>
<?
while($resp=mysql_fetch_array($busqueda)){
$nombre=$resp["cliente"];
$direccion=$resp["direccion"];
$telefono=$resp["telefono"];
$lugar=$resp["lugar"];
$modelo=$resp["modelo"];
$agencia=$resp["agencia"];
$hora_entrada=$resp["hora_entrada"];
$hora_salida=$resp["hora_salida"];
$valor_total=$resp["valor_total"];
$comentario=$resp["comentario"];
$fecha=$resp["fecha"];

if ($telefono==$cliente1){
?>
<tr>
<td> <? echo "$nombre "; ?> <br> </td>
<td> <? echo "$direccion"; ?></td>
<td> <? echo "$telefono" ?></td>
<td> <? echo "$lugar" ?></td>
<td> <? echo "$modelo" ?></td>
<td> <? echo "$agencia" ?></td>
<td> <? echo "$hora_entrada" ?></td>
<td> <? echo "$hora_salida" ?></td>
<td> <? echo "$valor_total" ?></td>
<td> <? echo "$comentario" ?></td>
<td> <? echo "$fecha" ?></td>
</tr>
<? }
else{}

Por jhonny97

9 de clabLevel



Genero:Masculino  

Bogota

msie
Citar            
MensajeEscrito el 24 Jun 2005 08:31 pm

jhonny97 escribió:


mira asíi estaba funcionando el código, ahora en action le agregue el # y y en el if agregue $_POST['dato'] , despues del else agregue un echo imprimiendo un valor leído en el formulario pero no me lo pasa, gracias por su colaboración.


aja, primero que nada, debes buscar la manera de hacer tu código lo mas corto posible, si necesitas comentar tu código no importa, pero si creas un código con variables de aquí para aca y de aca para mas aca y luego para arriba y lo subes y lo bajas y lo metes en una función le cambias el nombre lo metes lo sacas lo regressas lo expulsas y luego lo mandas por e-mail.
o no sabras donde carajos se quedo el valor de tu variable XD o simplemente se agotan los recursos :D asi que yo te recomiendo, en vez de cambiarle los nombres a las variables tan seguido, trata de usar las mismas que traes de el query, ejemplo:

Código :

<?
$estado='cancelado';
$conex=conex();
/*
usamos aqui result y simepre la usaremos con el mismo nombre para no olvidarlo, en caso de requerir anidar varios querys, usaremos $result1, $result2 ...
*/
$result=mysql_query("SELECT * FROM clientes WHERE pagos='".$estado."';",$conex);
/*
aqui usas $reg promeri para que sea corto y a la hora de crear tu script puedas recordarlo, de igualmanera que $result le colocas $reg1, $reg2, etc... 
en caso de requerir anidar varios.
si usas $reg por lo general esto será mas corto que el el nombre de el campo en la DB
asi si el campo es nombre usas $reg['nombre'] y como ves es bastante legible. 
*/
while($reg=mysql_fetch_array($result))
{
?>
<tr>
   <td>   <?=$reg['nombre']?> </td>
   <td>   <?=$reg['apellidos']?> </td>
   <td>   <?=$reg['telefono']?> </td>
   <td>   <?=$reg['suhija']?> </td>
</tr>
<?
}
//y no olvides liberar la data y cerrar tu conex ;)
mysql_free_result($result);
mysql_close($conex);
?>


luego para mostrar los datos usas <?=$variable; ?>
que aparte de ser mas corto es mucho mas manejable dentro del codigo, a la hora de editar el HTML, asi no tendras que escribir 45.000 echo's
<?=$variable?>
es parecido a
<?
echo $variable;
?>
asi que tasmbien puedes meterle funciones y otras cosas
como por ejemplo <?=date("d/n/Y")."-".$variable;?>

es muy importante como dice pedro, usar las variables $_POST
$_GET y $REQUEST para incluir variables dentro de tu documento, y mi recomendación es que las metas directamente si las vas a usar una sola vez,
si las vas a usar mas de una vez entonces si deberias cambiarle el nombre.
asi como también
$_SERVER, $_ENV, $_SESSION y $_COOKIE
:D

para los formularios en action es mas recomendable usar ? en vez de usar <?=basename($_SERVER['PHP_SELF']);?> he incluso mas recomendable que usar el nombre del archivo.
1º si usas basename($_SERVER['PHP_SELF']); estaras usando una función que consume recursos, y si no la usas usando solo $_SERVER['PHP_SELF']
corres el riesgo de que capte la ruta del PHP si el PHP esta como CGI asi:
/etc/bin/php /tuarchivo.php
2º si usas el nombre de tu archivo y necesitas cambiarlo tendras que editar todo tu code o funcionara mal
3º puedes usar como dice pedro # la verdad nunca lo he probado con variables $_POST es questión de revisar.
edita tu codigo y lo optimizas, trata de usar menos includes, los includes son para agregar documentos que vamos a usar en otros varios documentos,
comenta tu codigo, mientras puedas hacerlo
:wink: suerte

Por jhony192

791 de clabLevel

1 tutorial

Genero:Masculino  

Just Another Programmer

konqueror

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.