Consulta sobre código implementado en php con errores para pasar variables
Lo que tengo instalado es WNT, Apache, PHP y MySQL.
El problema que tengo es el paso de variables. Aquí esta el código de los dos ficheros, para que los puedas probar y a ver si me puedes ayudar.
Formulario.htm
<html>
<body>
<form action="http://localhost/buscadordebugeo.php" METHOD="POST">
<strong>Palabra clave:</strong>
<input type="text" name="buscar" size="20"><br><br>
<input type="submit" value="Enviar">
<input type="reset" value="Borrar" >
</form>
</body>
</html>
buscadordebugeo.php
<html>
<body>
<?php
if ($buscar == ""){ ?>
<p>Debe especificar una cadena a buscar</p>
<script>alert("Tenias razon, no pasas variables")</script>
<p><a href=./formulario.html>Volver</p>
</body></html>
<?
exit;
} else{ ?>
<script>alert("si pasas variables la variable buscar = <? Echo $buscar ?>")</script>
<?
}
mysql_connect("localhost","nobody","");
$sql = "SELECT * FROM agenda WHERE nombre LIKE '%$buscar%' ORDER BY nombre";
$result=mysql_db_query("mydb", $sql);
if ($result){ ?>
<script>alert("he recorrido tu codigo y todo va bien hasta aqui es decir que le preguntaste a mysql <? Print $sql ?> y si encontro resultados")</script>
<?
echo "<table border = '1'> \n";
echo "<tr> \n";
while ($field = mysql_fetch_array($result)){
echo "<td colspan=5 align=\"left\">".$field['name']."</b></td> \n";
echo "</tr> \n";
echo "<tr> \n";
echo "<td>".$field["id"]."</td> \n";
echo "<td>".$field["nombre"]."</td> \n";
echo "<td>".$field["direccion"]."</td> \n";
echo "<td>".$field["telefono"]."</td> \n";
echo "<td><a href='mailto:".$field["email"]."'>".$field["email"]."</a></td> \n";
echo "</tr> \n";
}
echo "<tr><td colspan=\"5\"><p><ahref=formulario.htm>Volver</p></td> </tr>\n";
echo "</table> \n";
} else {
print "si existe un error de mysql debe de aparecer descrito aqui :";
print "<br>";
print mysql_error();
print "<br>";
print "este error paso cuando preguntaste a mysql :";
print "<br>";
echo $sql;
echo "<p>¡No se ha encontrado ningún registro!</p>\n";
echo "<p><a href=formulario.htm>Volver</p> \n";
}
?>
Lo que me aparece es :
Debe especificar una cadena a buscar
Tenias razón, no pasas variables
Muchas gracias.
El problema que tengo es el paso de variables. Aquí esta el código de los dos ficheros, para que los puedas probar y a ver si me puedes ayudar.
Formulario.htm
<html>
<body>
<form action="http://localhost/buscadordebugeo.php" METHOD="POST">
<strong>Palabra clave:</strong>
<input type="text" name="buscar" size="20"><br><br>
<input type="submit" value="Enviar">
<input type="reset" value="Borrar" >
</form>
</body>
</html>
buscadordebugeo.php
<html>
<body>
<?php
if ($buscar == ""){ ?>
<p>Debe especificar una cadena a buscar</p>
<script>alert("Tenias razon, no pasas variables")</script>
<p><a href=./formulario.html>Volver</p>
</body></html>
<?
exit;
} else{ ?>
<script>alert("si pasas variables la variable buscar = <? Echo $buscar ?>")</script>
<?
}
mysql_connect("localhost","nobody","");
$sql = "SELECT * FROM agenda WHERE nombre LIKE '%$buscar%' ORDER BY nombre";
$result=mysql_db_query("mydb", $sql);
if ($result){ ?>
<script>alert("he recorrido tu codigo y todo va bien hasta aqui es decir que le preguntaste a mysql <? Print $sql ?> y si encontro resultados")</script>
<?
echo "<table border = '1'> \n";
echo "<tr> \n";
while ($field = mysql_fetch_array($result)){
echo "<td colspan=5 align=\"left\">".$field['name']."</b></td> \n";
echo "</tr> \n";
echo "<tr> \n";
echo "<td>".$field["id"]."</td> \n";
echo "<td>".$field["nombre"]."</td> \n";
echo "<td>".$field["direccion"]."</td> \n";
echo "<td>".$field["telefono"]."</td> \n";
echo "<td><a href='mailto:".$field["email"]."'>".$field["email"]."</a></td> \n";
echo "</tr> \n";
}
echo "<tr><td colspan=\"5\"><p><ahref=formulario.htm>Volver</p></td> </tr>\n";
echo "</table> \n";
} else {
print "si existe un error de mysql debe de aparecer descrito aqui :";
print "<br>";
print mysql_error();
print "<br>";
print "este error paso cuando preguntaste a mysql :";
print "<br>";
echo $sql;
echo "<p>¡No se ha encontrado ningún registro!</p>\n";
echo "<p><a href=formulario.htm>Volver</p> \n";
}
?>
Lo que me aparece es :
Debe especificar una cadena a buscar
Tenias razón, no pasas variables
Muchas gracias.
1 Respuesta
Respuesta de bankhacker
1