elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Estamos en la red social de Mastodon


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  como podria mostrar el id cifrada sin que pierda los datos al mostrarlo
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: como podria mostrar el id cifrada sin que pierda los datos al mostrarlo  (Leído 3,517 veces)
geshiro

Desconectado Desconectado

Mensajes: 178


Ver Perfil
como podria mostrar el id cifrada sin que pierda los datos al mostrarlo
« en: 12 Julio 2016, 01:36 am »

al momento de querer cifrar el id que muestra es lo que trae la tabla de la base de datos pero no lo ocupo de esa manera si no cifrada pero no como mandarla ya que lo muestro por js y no con un simple echo md5(id);
controller
Código
  1. case 'search':
  2. $main = 0;
  3.        $limit = 3;
  4.        if (isset($_POST['page'])) {
  5.         $page = $_POST['page'];
  6.            $main = ($page - 1) * $limit;
  7.        }
  8.        $id = $_POST['id'];
  9. $search = new product();
  10. $__result= $search->searchProduct($id);
  11. $__Result = count($__result);
  12. $final_result = $search->searchProduct($id,$main,$limit);
  13. echo json_encode($final_result)."*".$__Result;
  14. break;
  15.  
  16. case 'update':
  17. $id = $_POST['id'];
  18. $editCode = $_POST['editCode'];
  19. $editProduct = $_POST['editProduct'];
  20. $editPrice = $_POST['editPrice'];
  21. $editStock = $_POST['editStock'];
  22. $update = new product();
  23. if($update->update($id,$editCode,$editProduct,$editPrice,$editStock)){
  24. $stock = $update->getProductStock($id);
  25. if ($stock > 20) {
  26. notification::removeNotifications($id);
  27. }
  28. echo 'sucess';
  29.  
  30. }else{
  31. echo "No se Actualizo los datos";
  32. }
  33. break;
  34.  

model
Código
  1. function searchProduct($id,$main=false,$limit=false){
  2. if($main !== false && $limit !== false){
  3. $sql="SELECT idproduct,code,product,purchase_price,stock,product.status FROM product  WHERE code like '%".$id."%' or product like '%".$id."%' ORDER BY idproduct ASC LIMIT $main,$limit";
  4. }else{
  5. $sql="SELECT idproduct,code,product,purchase_price,stock,product.status FROM product  WHERE code like '%".$id."%' or product like '%".$id."%' ORDER BY idproduct";
  6. }
  7. $this->conexion->conexion->set_charset('utf8');
  8. $result=$this->conexion->conexion->query($sql);
  9. $array = array();
  10. while($record = $result->fetch_array(MYSQLI_NUM)){
  11. $array[] = $record;
  12. }
  13. return $array;
  14. $this->conexion->cerrar();
  15. }
  16.  

ajax
Código
  1. function searchProduct(id,page){
  2. var page=Number(page);
  3. $.ajax({
  4. url:'../controller/product_controller.php',
  5. type:'POST',
  6. data:'id='+id+'&page='+page+'&boton=search'
  7. }).done(function(resp){
  8. var d=resp.split("*");
  9. var Data = eval(d[0]);
  10. if(Data.length === 0)
  11. $('#info').html('<h4 style="color: red">Sorry there are no products available</h4>')
  12. else
  13. $('#info').html('');
  14. html="<table class='table table-condensed table-hover table-striped'><thead><th>#</th><th>code</th><th>image</th><th>product</th><th>price</th><th>stock</th><th>status</th><th>option<th></thead><tbody>";
  15. for(i=0;i<Data.length;i++){
  16. status = (Data[i][5] == 1)  ? "<span class='label label-success'>active</span>":"<span class='label label-danger'>inactive</span>";
  17. data=Data[i][0]+"*"+Data[i][1]+"*"+Data[i][2]+"*"+Data[i][3]+"*"+Data[i][4];
  18. html+="<tr><td>"+(i+1)+"<td>"+Data[i][1]+"</td><td>image</td><td>"+Data[i][2]+"</td><td>"+Data[i][3]+"</td><td>"+Data[i][4]+"</td><td>"+status+"</td></td></td><td><button class='btn btn-warning btn-options' data-toggle='modal' data-target='#modalproduct' onclick='mostrar("+'"'+data+'"'+");'><span class='glyphicon glyphicon-pencil'></span></button><button class='btn btn-danger btn-options' onclick='Delete("+'"'+Data[i][0]+'"'+")'><span class='glyphicon glyphicon-trash'></span></button></td></tr>";
  19. }
  20. html+="</tbody></table>"
  21. $("#list-product").html(html);
  22. var totalrec = d[1];
  23. var num_paginate = Math.ceil(totalrec/3);
  24. var fieldSeach=$("#search").val();
  25. paginate="<ul class='pagination'>";
  26. if(page>1){
  27. //paginate+="<li><a href='javascript:void(0)' onclick='searchProduct("+'"'+fieldSeach+'","'+1+'"'+")'>&laquo;</a></li>";
  28. paginate+="<li><a href='javascript:void(0)' onclick='searchProduct("+'"'+fieldSeach+'","'+(page-1)+'"'+")'>&laquo;</a></li>";
  29. }
  30. else{
  31. //paginate+="<li class='disabled'><a href='javascript:void(0)'>&laquo;</a></li>";
  32. paginate+="<li class='disabled'><a href='javascript:void(0)'>&laquo;</a></li>";
  33. }
  34. limit = 10;
  35. div = Math.ceil(limit / 2);
  36. pageMain = (page > div) ? (page - div) : 1;
  37. if (num_paginate > div){
  38. pagRestantes = num_paginate - page;
  39. pagFin = (pagRestantes > div) ? (page + div) : num_paginate;
  40. }
  41. else{
  42. pagFin = num_paginate;
  43. }
  44. for(i=pageMain;i<=pagFin;i++){
  45. if(i==page)
  46. paginate+="<li class='active'><a href='javascript:void(0)'>"+i+"</a></li>";
  47. else
  48. paginate+="<li><a href='javascript:void(0)' onclick='searchProduct("+'"'+fieldSeach+'","'+i+'"'+")'>"+i+"</a></li>";
  49. }
  50.  
  51. if(page<num_paginate){
  52. paginate+="<li><a href='javascript:void(0)' onclick='searchProduct("+'"'+fieldSeach+'","'+(page+1)+'"'+")'>&raquo;</a></li>";
  53. //paginate+="<li><a href='javascript:void(0)' onclick='searchProduct("+'"'+fieldSeach+'","'+num_paginate+'"'+")'>&raquo;</a></li>";
  54. }
  55. else{
  56. paginate+="<li class='disabled'><a href='javascript:void(0)'>&raquo;</a></li>";
  57. //paginate+="<li class='disabled'><a href='javascript:void(0)'>&raquo;</a></li>";
  58. }
  59. paginate+="</ul>";
  60. $("#paginador").html(paginate);
  61.  
  62. });
  63. }
  64.  
  65. function mostrar(data){
  66. var d=data.split("*");
  67. console.log(d);
  68. $("#id").val(d[0]);
  69. $("#editCode").val(d[1]);
  70. $("#editProduct").val(d[2]);
  71. $("#editPrice").val(d[3]);
  72. $("#editStock").val(d[4]);
  73. }
  74.  
  75.  


En línea

AlbertoBSD
Programador y
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.705


🏴 Libertad!!!!!


Ver Perfil WWW
Re: como podria mostrar el id cifrada sin que pierda los datos al mostrarlo
« Respuesta #1 en: 12 Julio 2016, 01:53 am »

Código
  1. $final_result = $search->searchProduct($id,$main,$limit);
  2. echo json_encode($final_result)."*".$__Result;

Me imagino que ahi la mandas.

Tienes 2 opciones

  • Procesar el arrary  y actualizar el campo ID antes del Json
  • Realizar la consulta mysql para que esta directamente procese el md5 y te devuelva directamente el hash

Y aclararte que realizar hash md5 ya no es recomendable mejor un sha512 o sha256.

Y lo otro que hacer un hash no es cifrar aunque lo parescan son cosas diferentes.

Saludos


En línea

geshiro

Desconectado Desconectado

Mensajes: 178


Ver Perfil
Re: como podria mostrar el id cifrada sin que pierda los datos al mostrarlo
« Respuesta #2 en: 12 Julio 2016, 02:00 am »

mi json me lo regresa como ["2","manzanas","2.50"]; yo quiero ["dfsdfddfs44fds","manzanas","2.50"] solo que el primer dijito no logro hacerle hash

y como consulta ejemplo como esto
Código
  1. SELECT md5(idproduct),code,product,purchase_price,stock,product.STATUS
« Última modificación: 12 Julio 2016, 02:02 am por geshiro » En línea

AlbertoBSD
Programador y
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.705


🏴 Libertad!!!!!


Ver Perfil WWW
Re: como podria mostrar el id cifrada sin que pierda los datos al mostrarlo
« Respuesta #3 en: 12 Julio 2016, 02:33 am »

Aver dices del PHP al ajax de la pagina o al revez?

Si es el primero puedes actualizar el array que contiene los datos como

Código
  1. $final_result->id = md5($final_result->id);

Saludos

En línea

geshiro

Desconectado Desconectado

Mensajes: 178


Ver Perfil
Re: como podria mostrar el id cifrada sin que pierda los datos al mostrarlo
« Respuesta #4 en: 12 Julio 2016, 02:55 am »

mi consulta quedo asi pero al momento de querer actualizar un producto no me quiere actualizar
Código
  1. SELECT MD5(idproduct) AS id ,CODE,product,purchase_price,stock,product.STATUS FROM product  WHERE code
En línea

AlbertoBSD
Programador y
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.705


🏴 Libertad!!!!!


Ver Perfil WWW
Re: como podria mostrar el id cifrada sin que pierda los datos al mostrarlo
« Respuesta #5 en: 12 Julio 2016, 03:02 am »

como haces el update?

Tendrias que crear un campo adicional que guarde el md5 en la base de datos y el update hacerlo where md5_campo = 'id_from_ajax'

Saludos
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines