2012-03-14 11 views
7

Tengo varios enlaces en una página HTML (digamos entre 100 y 120). Lo que necesito exactamente es enviar datos diferentes a otra página de PHP (digamos display.php) cuando hago clic en cada enlace. Probé un método patético,¿Cómo enviar datos a la página PHP al hacer clic en un enlace?

<form action="display.php" method="post"> // or GET 
    <input type="hidden" name ="data" value="Data1" /> 
    <input type="submit" value="Link 1" /> 
</form>` 
. 
. 
. 

<form action="display.php" method="post"> 
    <input type="hidden" name ="data" value="Data120" /> 
    <input type="submit" value="Link 120" /> 
</form> 

¿Hay alguna manera simple de reducir el uso de estos 120 formularios?

+0

¿Cuál es el propósito de estos enlaces? ¿Por qué no consultar parámetros? 'display.php? data = Data1' – deceze

+0

Wow piensa en el desastre ....: D – itachi

Respuesta

15

Puede colocar los datos directamente en el href de su etiqueta.
Ex:

<a href="./display.php?data=Data1&data2=Data120">Click here</a> 

A continuación, en el archivo de display.php:

<?php 
    if(isset($_GET["data"]) && isset($_GET["data2"])) 
    { 
     $data = $_GET["data"]; 
     $data2 = $_GET["data2"]; 
    } 
?> 

Aquí tienes.

1

sí seguro tratar de utilizar etiquetas con la esperanza

<a href="display?data=data1">link1</a> 

de Identificación esto ayuda

1

probar este

<form action='display.php' method='post'> 
    <input type="submit" value="Link 1" name='1' onclick='setHidden(this)'/> 
    <input type="submit" value="Link 2" name='2' onclick='setHidden(this)'/> 
    <input type="submit" value="Link 3" name='3' onclick='setHidden(this)'/> 
    <input type="submit" value="Link 4" name='4' onclick='setHidden(this)'/> 

    <input type="hidden" id='data' name ="data" value="" /> 
</form> 

// Javascript

<script type='text/javascript'> 
    function setHidden(key) 
    { 
     var dataStr='Data'; 
     dataStr+=key.name; 

     document.getElementById('data').value=dataStr; 
    } 
</script> 

después en displa y.php archivo

<?php 
    if(isset($_POST['data'])) 
    { 
     $data=$_POST['data']; 

     echo $data; 
    } 
?> 
Cuestiones relacionadas