entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

1voto

como hacer un parametro

buenas, que tal? hace tiempo no posteaba aqui. he estado intentando hallar la manera de conseguir algo pero nunca hice algo similar, sin embargo se que es posible ya que lo he visto en varios sitios web (que seria como lo detalle en el titulo algo como .php?id=X)

muchas gracias, espero alguna respuesta

1 Respuesta

5votos

cobasESP Puntos19650

A lo que te refieres se llaman parámetros, y lo que quieres es crear una URL parametrizada por GET, es muy sencillo, a la hora de crear la tabla y rellenarla con los datos de la tabla, sabes el id de cada coche por ejemplo, pues el botón de compra sería algo asi:

<a href="comprar-vehiculos.php?id=<?php echo $id_coche; ?>" class="tuclase">Comprar este coche </a>

Y en comprar-vehiculo.php antes de nada tienes que añadir la linea:

$id_coche = $_GET['id'];

id es el nombre que tiene el parametro en la url, el nombre de la variable es irrelevante. Al saber ya la id del coche que quieren comprar ya puedes rellenar esa página con toda la info del vehiculo. Te recomiendo que si los datos pasados por parametros son importantes, no uses GET sino POST, es decir en vez de poner "<a href="..... pongas un:

<form method="post" action="comprar-vehiculo.php">
<input  type="hidden" name="id" value="<?php echo $id_coche; ?>" />
<input type="submit" value="comprar coche" />
</form>

De esta forma tienes una variable oculta con la id del coche y con el boton accedes a compra-vehiculo pasando la variable oculta al ojo del cliente, ya que no te interesa que nadie lo vea. Y recoges la variable i gual pero cambiando GET['id] por POST['id]

0voto

MikeNicholas comentado

hola, gracias por tu respuesta. he logrado mas o menos entender como va esto de los parametros, solo que evidentemente hay algo que no me ha quedado 100% en claro ya que me está surgiendo lo siguiente.

ahora quedaron los tres archivos, functions.php, comprar-vehiculos.php practicamente vacio, solo con el <?php echo ComprasWeb(1); ?> en el body que es la lista de lo que esta en venta y por ultimo comprar-vehiculo.php que es usado con parametro ?id=X, bien, hasta aca vamos todo ok
aca solo quedo la lista de vehs extraida del function ComprasWeb (functions.php)
es decir: <?php echo ComprasWeb(1); ?>

1voto

cobasESP comentado

Buenas, tu siempre ten en cuenta que los parámetros son solo una manera de comunicar scripts de php nada mas son 2 lineas mas a cada script, por otro lado si alguien se mete sin redireccion, tienes que bloquear eso, por ejemplo:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Comprar vehiculos</title>
</head>
<body>
    <?php if(!isset($_POST['id]) || $_POST['id'] <= 0){
            echo "<h1>Error, no existe el vehiculo</h1>";
        }else{
         ?>
        <h1>Vehiculo 1</h1>
         color 1, color 2, etc etc etc
         resto de código de la página

         <?php } ?> <-- volvemos a abrir y cerrr un script php para cerrar 
                        la llave del else de arriba.
</body>
</html>

De esta manera controlas que si viene con 0 0 menor que 0 la id o ni siquiera viene, mostrar un error, sino, pues cargas la página correctamente.

Creo, que al pinchar en un coche pasas la id y en dicha página vuelves a hacer la consulta para ese coche con esa id, ahí puedes volver a comprobar si la id existe y tendrías solucionado un problema bastante gordo de seguridad para que nadie pueda colarse donde no debe y fuerzas a la gente a pinchar en el botón comprar para acceder y asi acceder siempre con uan id, sino la página dará error al cargar.

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta