publicar mercadolibre apis php html

php - apis - api mercadolibre publicar



¿Cómo publicas datos con un enlace? (6)

Tengo una base de datos que mantiene a los residentes de cada casa en una calle determinada. Tengo una página web php ''vista de la casa'' que puede mostrar una casa individual y residentes cuando se le da el número de casa usando ''publicación''. También tengo una página web de "vista callejera" que ofrece una lista de las casas. Lo que quiero saber es si puede tener enlaces en la vista de la calle que enlazará con la vista de la casa y publicará el número de la casa al mismo tiempo sin configurar un formulario para cada uno.

Saludos


No puede realizar solicitudes POST HTTP por <a href="some_script.php">some_script</a>

Simplemente abre tu house.php , busca en él donde tienes $house = $_POST[''houseVar''] y $house = $_POST[''houseVar''] a:

isset($_POST[''houseVar'']) ? $house = $_POST[''houseVar''] : $house = $_GET[''houseVar'']

Y en el streeview.php hacer enlaces como ese:

<a href="house.php?houseVar=$houseNum"></a>

O algo mas. Simplemente no sé tus archivos y qué hay dentro.


Solo usaría un valor en la cadena de consulta para pasar la información requerida a la página siguiente.


Este es un hilo viejo, pero en caso de que alguien se encuentre, creo que la solución más directa es usar CSS para hacer que una forma tradicional parezca un enlace de anclaje.

@ben es correcto, puedes usar php y javascript para enviar una publicación con un enlace, pero vamos a preguntar qué hace js, esencialmente crea una forma con style = ''display: none'' establece una línea de entrada / texto con value = '' algo ''y luego lo envía.

sin embargo, puede omitir todo esto haciendo un formulario. setting style = ''display: none'' en las líneas de entrada / texto (no el formulario en sí mismo como arriba) y luego usa CSS para hacer que el botón se vea como un enlace normal.

he aquí un ejemplo que uso:

en PHP Class,

public function styleButton($style,$text){ $html_str = "<form id=''view_form'' action=''".$_SERVER[''REQUEST_URI'']."'' method=''post'' >"; $html_str .= "<input style=''display:none;'' name=''list_style'' type=''text'' value=''".$style."'' >"; $html_str .= "<input id=''view_button'' type=''submit'' value=''".$text."'' >"; $html_str .= "</form>"; return $html_str; }

Luego, en el id de CSS = "view_form" set "display: inline;" y en CSS id = "view_button" establecido en algo como: "background: none; border: none; color: #fff; cursor: puntero"


Supongo que cada casa se almacena en su propia tabla y tiene un campo ''id'', por ejemplo, id de la casa. Entonces, cuando recorras las casas y las muestres, podrías hacer algo como esto:

<a href="house.php?id=<?php echo $house_id;?>"> <?php echo $house_name;?> </a>

Luego en house.php, obtendrías la ID de la casa usando $_GET[''id''] , la validaría usando is_numeric() y luego mostraría su información.


Si desea pasar los datos usando POST en lugar de GET, puede hacerlo usando una combinación de PHP y JavaScript, como esta:

function formSubmit(house_number) { document.forms[0].house_number.value = house_number; document.forms[0].submit(); }

Luego, en PHP, recorre los números de la casa y crea enlaces a la función de JavaScript, como este:

<form action="house.php" method="POST"> <input type="hidden" name="house_number" value="-1"> <?php foreach ($houses as $id => name) { echo "<a href=/"javascript:formSubmit($id);/">$name</a>/n"; } ?> </form>

De esta forma, solo tiene un formulario cuyas variables ocultas se modifican según el enlace en el que haga clic. Entonces JavasScript envía el formulario.


Deberíamos hacer que todo sea más fácil para todos, ya que simplemente puede combinar JS a PHP. La combinación de PHP y JS es bastante fácil.

$house_number = HOUSE_NUMBER; echo "<script type=''text/javascript''>document.forms[0].house_number.value = $house_number; document.forms[0].submit();</script>";

O una forma algo más segura

$house_number = HOUSE_NUMBER; echo "<script type=''text/javascript''>document.forms[0].house_number.value = " . $house_number . "; document.forms[0].submit();</script>";