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

 

 


Tema destacado: Introducción a la Factorización De Semiprimos (RSA)


  Mostrar Temas
Páginas: 1 [2] 3 4 5 6 7 8
11  Programación / PHP / problema con los indexes en foreach en codeigniter en: 15 Agosto 2016, 18:39 pm
bueno mi error es que me da  invalid argument supplied for foreach() y no me esta accediento bien al índice del arreglo, estoy usando codeigniter pero como pudiera arreglar ese error mi json del la función del controlador es
Código
  1. [{"id":"1","sección":"Inventario","data":[{"id":"11","icon":"http:\/\/localhost\/storeLTE\/assets\/img\/sidebar\/items.png","value":"Productos","seccion_id":"1","url":"http:\/\/localhost\/storeLTE\/inventario\/product"},{"id":"14","icon":"http:\/\/localhost\/storeLTE\/assets\/img\/sidebar\/employees.png","value":"Provedores","seccion_id":"1","url":"http:\/\/localhost\/storeLTE\/provedor\/provedor"}]},{"id":"2","sección":"Compras","data":[{"id":"22","icon":"http:\/\/localhost\/storeLTE\/assets\/img\/sidebar\/suppliers.png","value":"Compras","seccion_id":"2","url":"http:\/\/localhost\/storeLTE\/compras\/compras"}]}]

controller

Código
  1.  
  2. public function getModules($id_module){
  3.    if($this->session->userdata('log')){
  4.        $data = $this->session->userdata('log');
  5.        $menu = array();
  6.        $seccions = $this->module->get_rows();
  7.        foreach ($seccions as $index => $sección){
  8.            $modules = $this->module->query("SELECT CONCAT('".$sección['id']."',storelte_modulo.id) AS id,CONCAT('".base_url('assets/img/sidebar')."','/',storelte_modulo.icon) as icon, storelte_modulo.modulo AS value,storelte_modulo.seccion_id,CONCAT('".base_url()."',storelte_modulo.url) AS  url FROM storelte_modulo INNER JOIN storelte_modulo_perfil ON  storelte_modulo_perfil.modulo_id = storelte_modulo.id WHERE seccion_id = $sección[id] AND storelte_modulo_perfil.perfiles_id = $data[id] AND storelte_modulo_perfil.STATUS = 1");
  9.            $seccions[$index]['data']= $modules;
  10.            if (!count($seccions[$index]['data']))
  11.                unset($seccions[$index]);
  12.        }
  13.        foreach ($seccions as $item)
  14.            array_push($menu,$item);
  15.  
  16.        $this->json($menu);
  17.    }
  18. }
  19.  

model

Código
  1. public function get_rows(){
  2.        $this->db->select('id,sección');
  3.        $this->db->from('storelte_seccion');
  4.        return $this->db->get()->result_array();
  5.    }
  6.  
  7.    public function query($query){
  8.        return
  9.  

Código
  1. <div class="row">
  2. <h3 class="text-center">Welcome to storeLTE, click a module below to get started!</h3>
  3. <div class="home_module_list">
  4.    <div class="module_item">
  5.        <?php foreach ($seccions as $session) { ?>
  6.          <div class="module_item" title="<?= $session['value'];?>">
  7.            <a href="<?= $session['url']; ?>"><img src="<?= $session['icon']; ?>"/></a>
  8.            <a href="<?= $session['url']; ?>"><?= $session['value']?></a>
  9.        </div>
  10.        <?php } ?>
  11.    </div>
  12. </div>
  13. </div>
  14.  
12  Programación / Desarrollo Web / problema al pasar indexes de json a la vista con foreach en: 15 Agosto 2016, 18:27 pm
bueno mi error es que me da  invalid argument supplied for foreach() y no me esta accediento bien al índice del arreglo, estoy usando codeigniter pero como pudiera arreglar ese error mi json del la función del controlador es
Código
  1. [{"id":"1","sección":"Inventario","data":[{"id":"11","icon":"http:\/\/localhost\/storeLTE\/assets\/img\/sidebar\/items.png","value":"Productos","seccion_id":"1","url":"http:\/\/localhost\/storeLTE\/inventario\/product"},{"id":"14","icon":"http:\/\/localhost\/storeLTE\/assets\/img\/sidebar\/employees.png","value":"Provedores","seccion_id":"1","url":"http:\/\/localhost\/storeLTE\/provedor\/provedor"}]},{"id":"2","sección":"Compras","data":[{"id":"22","icon":"http:\/\/localhost\/storeLTE\/assets\/img\/sidebar\/suppliers.png","value":"Compras","seccion_id":"2","url":"http:\/\/localhost\/storeLTE\/compras\/compras"}]}]

controller

Código
  1.  
  2. public function getModules($id_module){
  3.    if($this->session->userdata('log')){
  4.        $data = $this->session->userdata('log');
  5.        $menu = array();
  6.        $seccions = $this->module->get_rows();
  7.        foreach ($seccions as $index => $sección){
  8.            $modules = $this->module->query("SELECT CONCAT('".$sección['id']."',storelte_modulo.id) AS id,CONCAT('".base_url('assets/img/sidebar')."','/',storelte_modulo.icon) as icon, storelte_modulo.modulo AS value,storelte_modulo.seccion_id,CONCAT('".base_url()."',storelte_modulo.url) AS  url FROM storelte_modulo INNER JOIN storelte_modulo_perfil ON  storelte_modulo_perfil.modulo_id = storelte_modulo.id WHERE seccion_id = $sección[id] AND storelte_modulo_perfil.perfiles_id = $data[id] AND storelte_modulo_perfil.STATUS = 1");
  9.            $seccions[$index]['data']= $modules;
  10.            if (!count($seccions[$index]['data']))
  11.                unset($seccions[$index]);
  12.        }
  13.        foreach ($seccions as $item)
  14.            array_push($menu,$item);
  15.  
  16.        $this->json($menu);
  17.    }
  18. }
  19.  

model

Código
  1. public function get_rows(){
  2.        $this->db->select('id,sección');
  3.        $this->db->from('storelte_seccion');
  4.        return $this->db->get()->result_array();
  5.    }
  6.  
  7.    public function query($query){
  8.        return
  9.  

Código
  1. <div class="row">
  2. <h3 class="text-center">Welcome to storeLTE, click a module below to get started!</h3>
  3. <div class="home_module_list">
  4.    <div class="module_item">
  5.        <?php foreach ($seccions as $session) { ?>
  6.          <div class="module_item" title="<?= $session['value'];?>">
  7.            <a href="<?= $session['url']; ?>"><img src="<?= $session['icon']; ?>"/></a>
  8.            <a href="<?= $session['url']; ?>"><?= $session['value']?></a>
  9.        </div>
  10.        <?php } ?>
  11.    </div>
  12. </div>
  13. </div>
  14.  
13  Seguridad Informática / Criptografía / que tipo de hash es este? en: 20 Julio 2016, 09:00 am
que tipo de hash es este a158fe73b615aa898055165288635c3d

lo veo como md5+sha1 y como pudiera romper el seguridad
14  Seguridad Informática / Hacking / hacking y anonimato en: 20 Julio 2016, 01:32 am
tengo una duda como ya sabemos al ejectuar un ataque sqli por medio de la url y despues pasarlo al sqlmap para  hacerlo mas efectivo, esto va dejar la ip de inicio y fin para que tanta probabilidad que cuentre la ip del atacante usando un vpn?
15  Programación / PHP / como editar un item con hash de ida y vuelta? en: 18 Julio 2016, 05:05 am
como pudiera editar mi producto sin que me falle el query ocupo en ves que me muestre el id original de la tabla que sea por cualquier metodo de encriptacion md5,sha1,sh256 o sha512. pero problema esta el al momento de querer editarlo se va por no se actualizaron los datos como pudiera hacer el hash de ida y vuelta sin desencriptarlo? y que funcione bien

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 update($id,$editCode,$editProduct,$editPrice,$editStock){
  2. $sql="UPDATE product SET code = '{$editCode}',product='{$editProduct}',purchase_price={$editPrice},stock={$editStock} WHERE idproduct={$id}";
  3. //echo $sql;
  4. if($this->conexion->conexion->query($sql)){
  5. return true;
  6. }
  7. else{
  8. return false;
  9. }
  10. $this->conexion->cerrar();
  11. }
  12.  
  13.  

Código
  1. function searchProduct($id,$main=false,$limit=false){
  2. if($main !== false && $limit !== false){
  3. $sql="SELECT md5(idproduct) AS id,code,product,purchase_price,stock,product.status FROM product WHERE code like '%".$id."%' or product like '%".$id."%' ORDER BY id ASC LIMIT $main,$limit";
  4. }else{
  5. $sql="SELECT md5(idproduct) AS id,code,product,purchase_price,stock,product.status FROM product  WHERE code like '%".$id."%' or product like '%".$id."%' ORDER BY id";
  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. echo $result;
  15. $this->conexion->cerrar();
  16. }
  17.  
16  Programación / PHP / como comprar un el id crifrado para poder editar un item? en: 16 Julio 2016, 23:53 pm
como podria comparar mi id crifrado para poder editarlo sin que falla mi consulta, pero no ocupo desencriptarlo ya que lo estaria haciendo mal  ocuparia comprar el string crifrado por el mismo cifrado pero como lo pudiera hacer si lo paso por ajax

controller
Código
  1. case 'update':
  2. $id = $_POST['id'];
  3. $editCode = $_POST['editCode'];
  4. $editProduct = $_POST['editProduct'];
  5. $editPrice = $_POST['editPrice'];
  6. $editStock = $_POST['editStock'];
  7. $update = new product();
  8. if($update->update($id,$editCode,$editProduct,$editPrice,$editStock)){
  9. $stock = $update->getProductStock($id);
  10. if ($stock > 20) {
  11. notification::removeNotifications($id);
  12. }
  13. echo 'sucess';
  14.  
  15. }else{
  16. echo "No se Actualizo los datos";
  17. }
  18. break;
  19.  

model
Código
  1. function update($id,$editCode,$editProduct,$editPrice,$editStock){
  2. $sql="UPDATE product SET code = '{$editCode}',product='{$editProduct}',purchase_price={$editPrice},stock={$editStock} WHERE idproduct={$id}";
  3. if($this->conexion->conexion->query($sql)){
  4. return true;
  5. }
  6. else{
  7. return display_errors();
  8. }
  9. $this->conexion->cerrar();
  10. }
  11.  
Código
  1. function searchProduct($id,$main=false,$limit=false){
  2. if($main !== false && $limit !== false){
  3. $sql="SELECT md5(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 md5(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. echo $result;
  15. $this->conexion->cerrar();
  16. }
  17.  

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.  
17  Programación / PHP / 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.  
18  Programación / Programación C/C++ / problemas al borrar un elemento en el archivo en: 26 Junio 2016, 19:56 pm
en mi funcion eleminar  tengo una validacion como esta
Código
  1. if(inventario.cod == elim){
cual hize para borrar solo un elemento pero el problema que cuando intento borrar un elemento me borra todo los elementos del archivo y el de reporte no me muestra nada. no se que estoy haciendo mal

Código
  1. #include <stdio.h>
  2. #include <conio.h>
  3. #include <string.h>
  4. #include <stdlib.h>
  5. FILE *file;
  6. FILE *tmp;
  7. struct inven{
  8.  int cod;
  9.  char descrip[30];
  10.  int exist;
  11.  int exist_min;
  12.  int exist_max;
  13.  float precio;
  14.  int cod_provedor;
  15. }inventario;
  16.  
  17. void crear();
  18. void modificar();
  19. void eliminar();
  20. void reporte();
  21. void menu();
  22.  
  23. void menu(){
  24. int resp;
  25.  do{
  26.  
  27.    printf("\n\t\t---------------------------------------------------");
  28.    printf("\n\t\t\t      S T O R E L T E     ");
  29.    printf("\n\t\t-------------------------------------------------\n\n\n\n");
  30.    printf("\t\t\t\t [1] agregar producto  \n");
  31.    printf("\t\t\t\t [2] modificar un producto     \n");
  32.    printf("\t\t\t\t [3] eliminar             \n");
  33.    printf("\t\t\t\t [4] reporte              \n");
  34.    printf("\t\t\t\t [5] salir  ........        ");
  35.    printf("\n\n\t\t\t\tSelecciona: ");
  36.    resp=getchar();
  37.    switch(resp){
  38.      case '1': crear();
  39.             break;
  40.  
  41.    case '2': modificar();
  42.             break;
  43.  
  44.      case '3': eliminar();
  45.            break;
  46.  
  47.      case '4': reporte();
  48.            break;
  49.  
  50.      case '5' : exit(1);
  51.  
  52.      default:
  53.         printf("opcion no validaa");
  54.    }
  55.  }
  56.  while(resp!=6);
  57.  getch();
  58. }
  59.  
  60. int main(){
  61.    menu();
  62.    return 0;
  63. }
  64.  
  65. void crear(){
  66.   system("cls");
  67.   int codigo = inventario.cod;
  68.   char opcion = 's';
  69.   if ((file=fopen("inventario.txt","a+"))==NULL)
  70.      printf("\n\n\n\n\t\t< < < Error de apertura de archivo inventario.dat   > > >");
  71.   else{
  72.     while(opcion == 's'){
  73.        printf("\n\n CODIGO: \t%d",codigo++);
  74.        printf("\n\n PRODUCTO:\t ");
  75.        scanf("%s",&inventario.descrip);
  76.        printf("\n\n EXISTENCIA DEL PRODUCTO:\t ");
  77.        scanf("%s", &inventario.exist);
  78.        printf("\n\n PRECIO UNITARIO DEL PRODUCTO:\t ");
  79.        scanf("%s",&inventario.precio);
  80.        fwrite(&inventario, sizeof(inventario), 1, file);
  81.        printf("\n\n\n\t\t DESEAS CAPTURAR OTRO PRODUCTO [s/n] : ");
  82.          opcion = getchar();
  83.        getch();
  84.        }
  85.    }
  86.    fclose(file);
  87. }
  88.  
  89. void modificar(){
  90.      system("cls");
  91.      int opc,i=0;
  92.      char elim[6];
  93.      printf("\nINGRESE EL CODIGO DEL PRODUCTO A MODIFICAR: ");
  94.      scanf("%s",&elim);
  95.      file = fopen("inventario.dat","r+b");    
  96.  
  97.        if(!file)
  98.         printf("\n Error de apertura del archivo inventario.dat\n");  
  99.      else{
  100.         while (((fread(&inventario, sizeof(inventario), 1, file))!=0)&&i!=1){
  101.            //if(!strcmp(inventario.cod,elim)){        
  102.            if(inventario.cod!=elim){
  103.                printf("DESCRIPCION        : %s\n",inventario.descrip);
  104.                printf("EXISTENCIA     : %s\n",inventario.exist);
  105.                printf("PRECIO UNITARIO     :$ %s\n",inventario.precio);
  106.  
  107.               printf ("\nQUE DESEA MODIFICAR: ");
  108.               printf ("\n\t\t\t1.-DESCRIPCION\n");
  109.               printf("\t\t\t2.-EXISTENCIA\n");
  110.               printf ("\t\t\t3.-PRECIO UNITARIO\n");
  111.               printf("\t\t\t4.-SALIR\n");
  112.               printf("\t\t\tDIGITA TU OPCION :");
  113.               scanf("%d",&opc);
  114.               switch (opc!=4){
  115.                case 1:
  116.                  printf ("\nINGRESA LA NUEVA DESCRIPCION: ");
  117.                  scanf("%s",&inventario.descrip);
  118.                  break;
  119.                case 2:
  120.                  printf ("\nINGRESA LA NUEVA EXISTENCIA ");
  121.                  scanf("%s",&inventario.exist);
  122.                  break;
  123.                case 3:
  124.                  printf ("\nINGRESA EL NUEVO PRECIO UNITARIO ");
  125.                  scanf("%s",&inventario.precio);
  126.                  break;
  127.               }
  128.             fseek(file,sizeof(inventario),SEEK_CUR);
  129.             fwrite(&inventario,sizeof(inventario), 1, file);
  130.             i=1;
  131.             fclose(file);
  132.            }
  133.         }
  134.  
  135.      }
  136. }
  137.  
  138. void eliminar(){
  139.    system("cls");
  140.    char elim[10];
  141.    printf("\nINGRESE EL CODIGO DEL PRODUCTO PARA ELIMINAR: ");
  142.    scanf("%s",&elim);
  143.    file=fopen("inventario.dat","r+b");
  144.    tmp=fopen("inventario1.dat","wb");
  145.    if(!file)
  146.        printf("\n Error de apuertura del archivo inventario.dat\n");
  147.    else{
  148.        while(((fread(&inventario, sizeof(inventario), 1, file))!=0)){
  149.            if(inventario.cod == elim){
  150.                //fseek(tmp,sizeof(inventario),SEEK_END);
  151.                //fseek(tmp,sizeof(inventario),SEEK_CUR);
  152.                fwrite(&inventario,sizeof(inventario), 1, tmp);
  153.                fclose(tmp);
  154.                tmp=fopen("inventario1.dat","r+b");
  155.                printf ("\n\n\n\n\n\n\n\n\n\n\n                   EL PRODUCTO SE HA ELIMINADO CORRECTAMENTE \n");
  156.                printf ("\n                          OPRIMA CUALQUIER TECLA PARA CONTINUAR");
  157.                getch();
  158.            }
  159.        }
  160.        fclose(file);
  161.        fclose(tmp);
  162.        system("del inventario.dat");
  163.        system("ren inventario1.dat inventario.dat");
  164.        }
  165.    }
  166.  
  167. void reporte (){
  168. system("cls");
  169. int i;
  170. FILE *invent;  
  171. invent = fopen("inventario.dat", "r");  
  172. if(invent == NULL)
  173.     {
  174.        printf("\nNo existe archivo");  
  175.     }
  176.       fread(&inventario, sizeof(struct inven), 20, invent);
  177.                             printf("------------------------------------------------------------------\n");
  178.                            printf("CODIGO   DESCRIPCION\t\tEXISTENCIA\tPRECIO UNITARIO  \n");
  179.                       printf("------------------------------------------------------------------\n");
  180. while(!feof(invent)){
  181.      printf("  %s      %s\t\t   %s\t\t      %s \n",inventario.cod,inventario.descrip,inventario.exist,inventario.precio);
  182.       fread(&inventario, sizeof(struct inven), 20, invent);
  183.       }
  184.     fclose(invent);
  185.    getch();
  186. }
  187.  
19  Sistemas Operativos / GNU/Linux / debian server ftp en: 24 Junio 2016, 05:33 am
para empezar tengo /home/public_html pero al agregar un usuario tengo que crear dicha carpta public_html en cada usuario que creo como pudo hacer para que esa carpeta sea compartida en cada usuario que cree y ellos puedan subir archivos en dicha carpeta otra cosa public_html contiene todos los archivos de php y phpmyadmin para que funcione ya que cambie la ruta de /var/www/html to /home/public_html, pero como pudiera hacer para el usuario solo vea la carpeta en blanco sin todo los archivos como los hosting. para terminar como pudiera hacer un demonio para correr php y mysql cada ves que prenda la pc.
20  Sistemas Operativos / GNU/Linux / Permisos a un archivo de una carpeta en: 23 Junio 2016, 04:05 am
como puedo darle permisio de un archivo pero que solamente pueda ser modificado por los usuarios del un dicho grupo

intente chown www-data usuario1:grupo_2 archivo
pero no puedo modificarl dicho archivo ni con el que cree el archivo como pudiera hacerlo
Páginas: 1 [2] 3 4 5 6 7 8
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines