Hack x Crack - Comunidad de Seguridad informática

Programación => Programación Web => Mensaje iniciado por: mir08 en Julio 15, 2013, 05:47:48 pm

Título: Como enviar datos atraves de una lista desordenada con PHP
Publicado por: mir08 en Julio 15, 2013, 05:47:48 pm
Hola gente, tengo una duda, como hago para mandar los datos atraves de un <ul>, logro que los muestre pero al no tener link cada <li> nose como hacer la consulta al php, dejo el codigo

Código: [Seleccionar]
<html>
<head>
<script type="text/javascript">

function mostrar(){
document.getElementById("selecto").value;
}

</script>
</head>

<body>
<form name="frmAceptar" method="post" action="club.php">
<ul name="slcTit">

<?php
mysql_connect("localhost""root""");
mysql_select_db("club");

$consulta mysql_query("SELECT tit_nombre, tit_apellido, tit_documento FROM titulares");
while($row mysql_fetch_array($consulta))
{
$nombre $row["tit_nombre"];
$apellido $row["tit_apellido"];
$dni $row["tit_documento"];
echo "<li value='$dni' id='selecto' onclick='mostrar()'>$apellido$nombre</li>";
}
?>

</ul><br>

</form>
</body>
</html>
Título: Re:Como enviar datos atraves de una lista desordenada con PHP
Publicado por: Krakakanok en Julio 16, 2013, 05:17:25 pm
No entiendo que es lo que quieres hacer. Lo unico que veo es que tienes un script en javascript que selecciona un id, que por cierto ese id se va a repetir por culpa del while (cosa que no se tendría por que ya que el id tiene que ser único), pero que no haces nada con el.

Despues tienes un script en php que lo que haces es una conexión a una tabla de una basa de datos en la que seleccionas ciertos datos que despues imprimes como un li.

Explica mejor, o alguien que entienda lo que quieres hacer que te conteste.

Saludos.
Título: Re:Como enviar datos atraves de una lista desordenada con PHP
Publicado por: mir08 en Julio 16, 2013, 06:20:12 pm
perdon si me explique mal, la idea es que al obtener los datos del mysql al cliquiar en dicha persona me lleve a la misma, el tema que al no ser un form no se como mandar los datos, atraves de post
Título: Re:Como enviar datos atraves de una lista desordenada con PHP
Publicado por: Krakakanok en Julio 16, 2013, 06:58:30 pm
perdon si me explique mal, la idea es que al obtener los datos del mysql al cliquiar en dicha persona me lleve a la misma, el tema que al no ser un form no se como mandar los datos, atraves de post

Yo lo haria por get (un enlace en los li y listo) , la manera más facil de hacerlo por post, si necesitas hacerlo asi, es con jquery, mirate esto http://api.jquery.com/jQuery.post/

Saludos.
Título: Re:Como enviar datos atraves de una lista desordenada con PHP
Publicado por: mir08 en Julio 16, 2013, 09:47:14 pm
pero como voy a poner el enlace en los li si es una linea de php la cual trae la data del mysql, no entiendo como agregarle los links
Título: Re:Como enviar datos atraves de una lista desordenada con PHP
Publicado por: Weyne en Julio 16, 2013, 10:14:20 pm
Agregale la etiqueta <a> para enlaces y envialo por get como dice Krakakanok.


Código: [Seleccionar]
<html>
    <head>
        <script type="text/javascript">

        function mostrar(){
        document.getElementById("selecto").value;
        }

        </script>
    </head>
   
    <body>
        <form name="frmAceptar" method="post" action="club.php">
            <ul name="slcTit">
           
            <?php
                mysql_connect
("localhost""root""");
                
mysql_select_db("club");
                
                
$consulta mysql_query("SELECT tit_nombre, tit_apellido, tit_documento FROM titulares");
                while(
$row mysql_fetch_array($consulta))
                {
                    
$nombre $row["tit_nombre"];
                    
$apellido $row["tit_apellido"];
                    
$dni $row["tit_documento"];
                    echo 
"<a href='consulta_informacion.php?id=$dni'><li>$apellido$nombre</li></a>";
                }

            
?>

            </ul><br>
           
        </form>
    </body>
</html>
Título: Re:Como enviar datos atraves de una lista desordenada con PHP
Publicado por: mir08 en Julio 16, 2013, 10:43:10 pm
y cual es la variable ke me va a recibir por post? el php donde la defino?
Título: Re:Como enviar datos atraves de una lista desordenada con PHP
Publicado por: Weyne en Julio 16, 2013, 10:56:27 pm
Quedaría así (modificado):

Código: [Seleccionar]
<html>
    <head>
        <script type="text/javascript">

        function mostrar(){
        document.getElementById("selecto").value;
        }

        </script>
    </head>
   
    <body>
        <form name="frmAceptar">
            <ul name="slcTit">
           
            <?php
                mysql_connect
("localhost""root""");
                
mysql_select_db("club");
                
                
$consulta mysql_query("SELECT tit_nombre, tit_apellido, tit_documento FROM titulares");
                while(
$row mysql_fetch_array($consulta))
                {
                    
$nombre $row["tit_nombre"];
                    
$apellido $row["tit_apellido"];
                    
$dni $row["tit_documento"];
                    echo 
"<a href='club.php?id=$dni'><li>$apellido$nombre</li></a>";
                }

            
?>

            </ul><br>
           
        </form>
    </body>
</html>

Luego en tu pagina club.php:

Código: [Seleccionar]
            <?php
                mysql_connect
("localhost""root""");
                
mysql_select_db("club");
                
                
$consulta mysql_query("SELECT tit_nombre, tit_apellido  FROM titulares WHERE tit_documento = ".$_GET['id']);//filtras por tu parametro enviado por get
                
while($row mysql_fetch_array($consulta))
                {
                    
//aquí haces lo que deseas, este fragmento de codigo solo es de ejemplo
                    
$nombre $row["tit_nombre"];
                    
$apellido $row["tit_apellido"];
                    echo 
"Apellidos: $apellido <br/>  Nombres: $nombre</li></a>";
                }

            
?>
Título: Re:Como enviar datos atraves de una lista desordenada con PHP
Publicado por: mir08 en Julio 16, 2013, 11:18:24 pm
perfecto ahora agrego el ajax, como enviaria los datos, perdo pero el LI me re complico todo acostumbrado a los form
Código: [Seleccionar]
<html>
    <head>
        <script type="text/javascript" src="../jquery.js"></script>

        <script type="text/javascript">
        function pasarParametros(dniObjeto) {

var dni= dniObjeto.id;
}

        </script>
       
<script type="text/javascript">
var x;
x=$(document);
x.ready(inicio);

function inicio()
{
  var x;
  x=$("a");
  x.click(enviar);
}
function enviar()
{
  var v=$("#numerodni").attr("value");
  $.ajax({
  async:true,
  type: "GET",
  dataType: "html",
  contentType: "application/x-www-form-urlencoded",
  url:"club.php",
  data:"club.php?id=$dni",
  beforeSend:inicioEnvio,
  success:llegada,
  timeout:4000,
  error:problemas
});
  return false;
}
function inicioEnvio()
{
  var x=$("#resultados");
  x.html('Cargando...');
}
function llegada(datos)
{
  $("#resultados").text(datos);
}
function problemas()
{
  $("#resultados").text('Problemas en el servidor.');
}
</script>

    </head>
   
    <body>
        <form name="frmAceptar">
            <ul name="slcTit">
           
            <?php
                mysql_connect
("localhost""root""");
                
mysql_select_db("club");
                
                
$consulta mysql_query("SELECT tit_nombre, tit_apellido, tit_documento FROM titulares");
                while(
$row mysql_fetch_array($consulta))
                {
                    
$nombre $row["tit_nombre"];
                    
$apellido $row["tit_apellido"];
                    
$dni $row["tit_documento"];
                    echo 
"<li id='numerodni' onclick='pasarParametros(this)'><a href='#'>apellidos, nombre</a></li>";
                }

            
?>

            </ul><br>
           
        </form>
        <div id="resultados"></div>
    </body>
</html>
Título: Re:Como enviar datos atraves de una lista desordenada con PHP
Publicado por: Krakakanok en Julio 24, 2013, 09:34:56 pm
El archivo club.php que te puso Weyne le dejas igual, de las muchas formas de hacerlo esta es una:

Código: [Seleccionar]
<html>
    <head>
        <script type="text/javascript" src="jquery-2.0.3.min.js"></script>

        <script type="text/javascript">
       
        function pasarParametros(dniObjeto) {
           
            var dniVar= dniObjeto.id;
           
              $.ajax({
                sync:true,
                type: "GET",
                dataType: "html",
                contentType: "application/x-www-form-urlencoded",
                url:"club.php",
                data:"id="+dniVar,
                beforeSend:inicioEnvio,
                success:llegada,
                timeout:4000,
                error:problemas
            });
           
        }
       
        function inicioEnvio(){
               var x=$("#resultados");
            x.html('Cargando...');
        }
       
        function llegada(datos){
            $("#resultados").html(datos);
        }
       
        function problemas(){
            $("#resultados").html('Problemas en el servidor.');
        }
       
        </script>

    </head>
   
    <body>
        <form name="frmAceptar">
            <ul name="slcTit">
           
            <?php
                mysql_connect
("localhost""root""");
                
mysql_select_db("club");
                
                
$consulta mysql_query("SELECT tit_nombre, tit_apellido, tit_documento FROM titulares");
                while(
$row mysql_fetch_array($consulta))
                {
                    
$nombre $row["tit_nombre"];
                    
$apellido $row["tit_apellido"];
                    
$dni $row["tit_documento"];
                    echo 
"<li id='$dni' onclick='pasarParametros(this)'><a href='#'>$apellido$nombre[/url]</li>";
                }        
            
?>

            </ul>[br /]
           
        </form>
        <div id="resultados"></div>
    </body>
</html>

He intentado tocar lo minimo tu propio code.

Saludos.

PD: externaliza la configuración de la base de datos.
Título: Re:Como enviar datos atraves de una lista desordenada con PHP
Publicado por: mir08 en Julio 25, 2013, 01:09:18 pm
kraka gracias por la respuesta, pero no anda, cuando hago click en el link no muestra nada pareciera que no envia el dato
Título: Re:Como enviar datos atraves de una lista desordenada con PHP
Publicado por: Krakakanok en Julio 25, 2013, 01:53:25 pm
Creo que es por la ruta del jquery, yo la tengo cambiada.

Saludos.


PD: aqui tienes todos los archivos (https://www.dropbox.com/s/8g362i6h8ql9tko/ajax.zip)
Título: Re:Como enviar datos atraves de una lista desordenada con PHP
Publicado por: mir08 en Julio 26, 2013, 12:18:36 am
genial resuelto mil gracias a todos!!
Título: Re:Como enviar datos atraves de una lista desordenada con PHP
Publicado por: Prow en Julio 26, 2013, 07:40:46 pm
Problema solucionado. Cierro.

Saludos