Programación Web y Scripting > PHP

 Re: Pasar valores

(1/3) > >>

Estefania:
Hola:
Les escribo este mensaje para realizarles una consulta.
Lo que me sucede es lo siguiente:
Cuando yo intento enviar datos de un formulario para realizar una búsqueda o para insertarlos en una base de datos dicho formulario no me envía nada.
Esto lo corrobore colocando un “echo” de manera de que me mostrara si las variables traían algo pero me muestra lo siguiente:
SELECT * FROM Tipobeca WHERE Clasebeca LIKE '%%' ORDER BY Clasebeca
Les agradecería mucho si me dijeran cual puede ser el problema.
Puede ser algo relacionado con la configuración de PHP?
 
El código de la página que recibe los datos es este:

<html>
<title>Script de busqueda</title>
<body>

<?php
$conexio = mysql_connect("localhost", "usuario", "contraseña");
mysql_select_db ("Becas", $conexio) OR die ("No se puede conectar");

if($palabra){

// SQL para la búsqueda

echo $palabra;
$sql="SELECT * FROM Tipobeca WHERE Clasebeca LIKE '%".$palabra."%' ORDER BY Clasebeca ";
echo $sql;

$result=mysql_query($sql,$conexio);
$row = mysql_fetch_array($result);
// Si hay resultados crea una tabla y los muestra
if ($row)
{
   echo "<TABLE BORDER='2'>";
     echo "</tr> n";
do {
            echo "<tr> n";
            echo "<td>".$row["Clasebeca"]."</td> n";
            echo "<td>".$row["Institucion"]."</td> n";
            echo "<td>".$row["Descripcion"]."</td> n";
            echo "<td>".$row["Carrera"]."</td> n";
         echo "<td>".$row["Duracion"]."</td> n";
            echo "</tr> n";
      } while ($row = mysql_fetch_array($result));
            echo "</table> n";
} else {
echo "¡ No se ha encontrado ningún registro !";
}
 
mysql_close ($conexio);
}
?>
 </body>
 </html>


Y el código del formulario de búsqueda es:

<html>
<title> Formulario de búsqueda</title>
<body>


<FORM method="post" ACTION="busca2.php">
<INPUT TYPE="TEXT" NAME="palabra" >
<INPUT TYPE="SUBMIT" NAME="Buscar">
</form>
</body>
</html>

Avalon:
Pués sí, podría ser algo relacionado con la configuración de PHP.

Añádele estas líneas al inicio de tu código PHP, y dime si te funcionó:

while ($HTTPVAR = each($_POST)) {
   ${$HTTPVAR[0]} = $HTTPVAR[1];
}


Salu2,
Avalon

jarry:
Puede ser que el campo de texto de tu formulario no se llame $palabra, este suele ser un error muy comun. En caso contrario no falla dado que es tan simple mandar parametros de una pagina a otra que hasta en paginas html funciona, verificalo.
Para trabajar con cadenas en php hazlo de esta manera para no hacerte problemas a la hora de concatenar cadenas: $sql="SELECT * FROM Tipobeca WHERE Clasebeca LIKE '%$palabra%' ORDER BY Clasebeca ";
Si es configuracion del php prueba con algo tan simple como <? echo phpinfo() ?>

Diana Serna:

--- Citar ---Originalmente publicado por Avalon
Pués sí, podría ser algo relacionado con la configuración de PHP.

Añádele estas líneas al inicio de tu código PHP, y dime si te funcionó:

while ($HTTPVAR = each($_POST)) {
   ${$HTTPVAR[0]} = $HTTPVAR[1];
}


Salu2,
Avalon
--- Fin de la cita ---
texto Black

Diana Serna:
Hola, yo tenia el mismo problema, pasaba datos desde una pagina HTMl a una pagina PHP y cuando trataba de leer los datos el no encontraba nada.
agrege las lineas de comando que indican y me funciono, me gustaria saber cual es la razon para estas lineas de comando????

while ($HTTPVAR = each($_POST)) {
      ${$HTTPVAR[0]} = $HTTPVAR[1];
   }


Diana:comp:

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

Ir a la versión completa