Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Variable $POST Y $GET

Estas en el tema de Variable $POST Y $GET en el foro de PHP en Foros del Web. Saludos chicos, tengo un codigo que he armado de varios codigos y funciona perfectamente usandolo desde el formulario con la variable $POST, pero me gustaria ...
  #1 (permalink)  
Antiguo 29/01/2017, 11:59
(Desactivado)
 
Fecha de Ingreso: septiembre-2008
Ubicación: Maracay edo Aragua Venezuela
Mensajes: 48
Antigüedad: 15 años, 7 meses
Puntos: 3
Pregunta Variable $POST Y $GET

Saludos chicos, tengo un codigo que he armado de varios codigos y funciona perfectamente usandolo desde el formulario con la variable $POST, pero me gustaria que esa misma variable se pueda tambien pasar por $GET para que de los mismos resultados resumo lo que tengo y lo que me gustaria hacer:

Lo que tengo:

Con el siguiente codigo uno debe abrir la web que contiene el formulario y escribir de manera manual un codigo y al dar click en buscar la web muestra el resultado buscado (FUNCIONA PERFECTAMENTE)

Código PHP:
<?php
// BUSQUEDA DE DESARROLLO ?buscar=WT939P7JD0
//Variable que contendrá el resultado de la búsqueda
$texto     '';
//Variable que contendrá el número de resgistros encontrados
$registros '';
// Valor ip
$ip=$_SERVER['REMOTE_ADDR'];

if (
$_POST)
  {
    
$busqueda trim($_POST['buscar']);
    if (empty(
$busqueda))
      {
        
$texto '<p>Busqueda sin resultados</p>';
      }
    
//AUTOR J.E SUMINISTROS Y MAS, C.A.
    //ANALISIS DE CODIGO A BUSCAR
    
else if (strlen($busqueda) < 10)
      {
        
$texto "<p>ESTIMADO USUARIO, EL VALOR A BUSCAR DEBE CONTENER 10 DIGITOS</p>";
      }
    else
      {
        
//MySQLi
        
require_once '../admin/config/sql.php';
        
$mysqli = new mysqli($hostname$username$password$database);
        
mysqli_character_set_name($mysqli);
        if (
$mysqli->connect_errno)
          {
            die(
"Fallo la conexión a MySQL: (" $mysqli->mysqli_connect_errno() . ") " $mysqli->mysqli_connect_error());
          }
        else
          {
            echo 
"Conexion Exitosa";
            
//$mysqli -> mysqli_close();
          
}
        
// REALIZAMOS LA CONSULTA A LA BD MySQLi
        
$query     "SELECT * FROM usuario_cursos WHERE codigo_curso LIKE '%" $busqueda "%' ORDER BY id";
        
$resultado $mysqli->query($query);
        
        
// CREACION DE LISTA DE RESULTADOS
        //16236014
        
if (mysqli_num_rows($resultado) === 0)
          {
            
$textod "El Valor $busqueda que usted ingreso NO POSEE RESULTADOS PARA MOSTRAR";
            
          }
          
        else
          {
            
$texto "<table class='clase7'><tr style='font-size:12px;'>
<td>RIF</td>
<td>NOMBRES</td>
<td>APELLIDOS</td>
<td>CURSO</td>
<td>MODULO</td>
<td>HORAS</td>
<td>FECHA DE CURSO</td>
</tr>"
;
            while (
$rows $resultado->fetch_assoc())
              {
                
$texto .= '<tr class=clase1 style=font-size:10px;>' '<td>' $rows['rif'] . '</td><td>' $rows['nombres'] . '</td><td>' $rows['apellidos'] . '</td><td>' $rows['curso'] . '</td><td>' $rows['modulo'] .  '</td><td>' $rows['horas'] . '</td><td>' $rows['fecha_curso'] . '</td>' '</tr>';
              }
            
$registros '<p>HEMOS ENCONTRADO: ' mysqli_num_rows($resultado) . ' REGISTROS </p>';

          }
      }
  }

?>
<!DOCTYPE html>
<html lang="es-ES">
<head> 
<TITLE> Consultar Certificados </TITLE>
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
<link href="../admin/config/css/estilos.css" type="text/css" rel="stylesheet">

</head> 
<body>
<h1>Consulte aquí los Certificados</h1> 
<h2>Indique código indicado en el certificado Ejemplo: 12A34B56C7</h2>
<?php
echo "Estimado Usuario esta es Su Dirección IP $ip y la misma sera utilizada en nuestra base de datros como referencia de su consulta<br>";
                 
?>
<form id="buscador" name="buscador" method="post" action="<?php
echo $_SERVER['PHP_SELF'];
?>"> 
    <input style="float:left;width:250px;font-size:20px;padding:4px;margin:6px;" id="buscar" name="buscar" type="search" placeholder="Buscar Aqui..." >
    <input style="font-size:20px;padding:4px;margin:6px;" type="submit" name="buscador" class="boton peque aceptar" value="buscar">
</form>
<br>

<?php
// Resultado, número de registros y contenido.
echo strtoupper($registros);
echo 
strtoupper($texto);
echo 
$textod;
#Insertar datos a través de la sentencia INSERT
$consulta "INSERT INTO vitacora_consulta_curso (ip, codigo_curso) VALUES('$ip', '$busqueda')";
$vit $mysqli -> query($consulta)
//|| die("Ha ocurrido un error al guardar los datos")
;
/*if($vit)
{
echo "Enhorabuena, la acción ha sido llevada a cabo con éxito";
}
else
{
echo "Ha ocurrido un error";
}
*/
?>
</table>

</body>
</html>
Lo que me gustaría hacer:

Me gustaría que al escribir en el navegador

http://ejemplo.com/index.php?buscar=WT939P7JD0

Se muestre el resultado tal cual como que se se estuviera llenando el formulario de búsqueda, he leído el manual de http://php.net/manual/es/mysqli.examples-basic.php pero no quisiera reescribir todo el código y no se como implementar la variable $GET en el código que tengo funcionando.

Gracias de antemano a las personas que brinden sus conocimientos.
  #2 (permalink)  
Antiguo 29/01/2017, 12:24
 
Fecha de Ingreso: noviembre-2015
Mensajes: 231
Antigüedad: 8 años, 5 meses
Puntos: 86
Respuesta: Variable $POST Y $GET

Lee sobre la supervariable $_REQUEST. Lee, incluso, las aportaciones
http://php.net/manual/en/reserved.variables.request.php
  #3 (permalink)  
Antiguo 29/01/2017, 13:10
(Desactivado)
 
Fecha de Ingreso: septiembre-2008
Ubicación: Maracay edo Aragua Venezuela
Mensajes: 48
Antigüedad: 15 años, 7 meses
Puntos: 3
De acuerdo Respuesta: Variable $POST Y $GET

Cita:
Iniciado por mpozo Ver Mensaje
Lee sobre la supervariable $_REQUEST. Lee, incluso, las aportaciones
[url]http://php.net/manual/en/reserved.variables.request.php[/url]
Gracias.

Mi error fue querer tratar una misma variable con ambos medotos, analizando su valiosa respuesta me di cuenta de mi error y he cambiado a tratar la variable como GET ya que es una variable publica.

He dejado el codigo de la siguiente manera por si alguien a futuro busca algo similar:

Código PHP:
<?php
// BUSQUEDA DE DESARROLLO ?buscar=WT939P7JD0
//Variable que contendrá el resultado de la búsqueda
$texto     '';
//Variable que contendrá el número de resgistros encontrados
$registros '';
// Valor ip
$ip=$_SERVER['REMOTE_ADDR'];

if (
$_GET)
  {
    
$busqueda trim($_GET['buscar']);
    
    if (empty(
$busqueda))
      {
        
$texto '<p>Busqueda sin resultados</p>';
      }
    
//AUTOR J.E SUMINISTROS Y MAS, C.A.
    //ANALISIS DE CODIGO A BUSCAR
    
else if (strlen($busqueda) < 10)
      {
        
$texto "<p>ESTIMADO USUARIO, EL VALOR A BUSCAR DEBE CONTENER 10 DIGITOS</p>";
      }
    else
      {
        
//MySQLi
        
require_once '../admin/config/sql.php';
        
$mysqli = new mysqli($hostname$username$password$database);
        
mysqli_character_set_name($mysqli);
        if (
$mysqli->connect_errno)
          {
            die(
"Fallo la conexión a MySQL: (" $mysqli->mysqli_connect_errno() . ") " $mysqli->mysqli_connect_error());
          }
        else
          {
            echo 
"Conexion Exitosa";
            
//$mysqli -> mysqli_close();
          
}
        
// REALIZAMOS LA CONSULTA A LA BD MySQLi
        
$query     "SELECT * FROM usuario_cursos WHERE codigo_curso LIKE '%" $busqueda "%' ORDER BY id";
        
$resultado $mysqli->query($query);
        
        
// CREACION DE LISTA DE RESULTADOS
        //16236014
        
if (mysqli_num_rows($resultado) === 0)
          {
            
$textod "El Valor $busqueda que usted ingreso NO POSEE RESULTADOS PARA MOSTRAR";
            
          }
          
        else
          {
            
$texto "<table class='clase7'><tr style='font-size:12px;'>
<td>RIF</td>
<td>NOMBRES</td>
<td>APELLIDOS</td>
<td>CURSO</td>
<td>MODULO</td>
<td>HORAS</td>
<td>FECHA DE CURSO</td>
</tr>"
;
            while (
$rows $resultado->fetch_assoc())
              {
                
$texto .= '<tr class=clase1 style=font-size:10px;>' '<td>' $rows['rif'] . '</td><td>' $rows['nombres'] . '</td><td>' $rows['apellidos'] . '</td><td>' $rows['curso'] . '</td><td>' $rows['modulo'] .  '</td><td>' $rows['horas'] . '</td><td>' $rows['fecha_curso'] . '</td>' '</tr>';
              }
            
$registros '<p>HEMOS ENCONTRADO: ' mysqli_num_rows($resultado) . ' REGISTROS </p>';

          }
      }
  }

?>
<!DOCTYPE html>
<html lang="es-ES">
<head> 
<TITLE> Consultar Certificados </TITLE>
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
<link href="../admin/config/css/estilos.css" type="text/css" rel="stylesheet">

</head> 
<body>
<h1>Consulte aqui los Certificados</h1> 
<h2>Indique codigo indicado en el certificado Ejemplo: 12A34B56C7</h2>
<?php
echo "Estimado Usuario esta es Su Direccion IP $ip y la misma sera utilizada en nuestra base de datros como referencia de su consulta<br>";
                 
?>
<form id="buscador" name="buscador" method="get" action="<?php
echo $_SERVER['PHP_SELF'];
?>"> 
    <input value="<?php echo $_GET['buscar'?>" style="float:left;width:250px;font-size:20px;padding:4px;margin:6px;" id="buscar" name="buscar" type="search" placeholder="Buscar Aqui..." >
    <input style="font-size:20px;padding:4px;margin:6px;" type="submit" name="buscador" class="boton peque aceptar" value="buscar">
</form>
<br>

<?php
// Resultado, número de registros y contenido.
echo strtoupper($registros);
echo 
strtoupper($texto);
echo 
$textod;
#Insertar datos a través de la sentencia INSERT
$consulta "INSERT INTO vitacora_consulta_curso (ip, codigo_curso) VALUES('$ip', '$busqueda')";
$vit $mysqli -> query($consulta)

//|| die("Ha ocurrido un error al guardar los datos")
;
/*if($vit)
{
echo "Enhorabuena, la acción ha sido llevada a cabo con éxito";
}
else
{
echo "Ha ocurrido un error";
}
*/
?>
</table>

</body>
</html>
  #4 (permalink)  
Antiguo 29/01/2017, 13:21
 
Fecha de Ingreso: octubre-2010
Ubicación: España
Mensajes: 1.007
Antigüedad: 13 años, 6 meses
Puntos: 123
Respuesta: Variable $POST Y $GET

De verdad entendiste la respuesta del compañero?
$_REQUEST contiene los datos de ambos métodos.

Es decir por ejemplo $_REQUEST['buscar'] contendrá el valor de la variable buscar independiente mente de que sea enviado por POST o GET ( o COOKIE ) el único inconveniente de esto es que si se envía por varios métodos a la vez $_REQUEST['buscar'] solo contendrá el valor de último método procesado por el servidor, ya que irá sobreescribiendo el dato.

Por cierto el orden de procesamiento viene dado por la directiva de php request_order o por variables_order en su ausencia.
__________________
Unset($vida['malRollo']);

Última edición por xerifandtomas; 29/01/2017 a las 19:29

Etiquetas: mysqli
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 12:16.