Foro oficial de PHP

Cacharrin

Lanero Reconocido
Se unió
1 Jun 2007
Mensajes
1,297
Si utilizo nombre[] envía dos arregos, codigo[] con los valores seleccionados con el check y nombre[] que tiene toda la lista de nombres.
Entonces tendría que utilizar javascript? No hay otra forma?
O depronto lo otro que podría hacer sería

PHP:
<tr>
    <td><input type="checkbox" name="codigo[]" id="codigo" value="{$lista[i]->codigo}"></td>
    <td>{$lista[i]->codigo}</td>
    <td><input type="text" name="nombre[{$lista[i]->codigo}]" id="nombre" value="{$lista[i]->nombre}"></td>
</tr>
Eso no evitaría que se enviaran todos los valores... pero al menos en el servidor ya podría solo usar los que ud quiere...
algo como:


PHP:
//No lo he probado... pero es la idea...
$codigos = $_POST["codigo"];
$nombres = $_POST["nombre"];
foreach($codigos as $codigo)
{
    $nombre = $nombres[$codigo];
    //Aqui hace con el nombre y con el código lo que necesite
}
 

Migue.Perez

Lanero Reconocido
Se unió
14 May 2007
Mensajes
479
buen dia señores, tengo un problema con codeigniter 3, depronto alguien aca sabe,
La cosa es que ya logre conectarme por medio del framework a mi motor de base de datos que es informix, cuanto trato de utilizar el metodo $this->db->get("tabla") me genera el sql de la siguente forma. SELECT * FROM "tabla" , esta sintaxis no me la recoce el motor informix, por lo tanto no me funciona el query builde del framework, alquien sabe como configurar el framework para que no setee las comillas en la consulta, el metor la reconoceria asi. SELECT * FROM tabla ..., de ante mano gracias, el metodo query funciona sin problema, solo que si me funcuiona el query builder me ahorraria un monton de codigo.
 

Cacharrin

Lanero Reconocido
Se unió
1 Jun 2007
Mensajes
1,297
buen dia señores, tengo un problema con codeigniter 3, depronto alguien aca sabe,
La cosa es que ya logre conectarme por medio del framework a mi motor de base de datos que es informix, cuanto trato de utilizar el metodo $this->db->get("tabla") me genera el sql de la siguente forma. SELECT * FROM "tabla" , esta sintaxis no me la recoce el motor informix, por lo tanto no me funciona el query builde del framework, alquien sabe como configurar el framework para que no setee las comillas en la consulta, el metor la reconoceria asi. SELECT * FROM tabla ..., de ante mano gracias, el metodo query funciona sin problema, solo que si me funcuiona el query builder me ahorraria un monton de codigo.
Si nos pudiera dar al menos una pista de que framework está usando y cual ORM usa... hasta depronto...
Saludos
 

Migue.Perez

Lanero Reconocido
Se unió
14 May 2007
Mensajes
479
Para deshabilitarlo globalmente:
PHP:
$this->db->_protect_identifiers = FALSE;
O $this->db->select() acepta un segundo parametro llamado "escape"... pruebe pasandole FALSE.

Saludos
Muchas Gracias Cacharrin, me funciono setiando
$db['default']['_protect_identifiers']= FALSE; desde el archivo de configuracion de la base de datos
 

eridamega

Lanero Reconocido
Se unió
17 Mar 2006
Mensajes
681
Según el código que usted puso la parte de PHP debería ir en otro archivo, además del archivo abrir_conexion.php que es el que lleva los datos de conexión, usted también llama un archivo cerrar_conexion.php, pero comenté esa linea porque no se que tiene usted ahí.

Los dos archivos quedarían así

HTML:
<html>
<head>
  <title>Programando Ando</title>
  <!-- Latest compiled and minified CSS -->
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" integrity="sha384-1q8mTJOASx8j1Au+a5WDVnPi2lkFfwwEAa8hDDdjZlpLegxhjVME1fgjWPGmkzs7" crossorigin="anonymous">

  <!-- Optional theme -->
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap-theme.min.css" integrity="sha384-fLW2N01lMqjakBkx3l/M9EahuwpSfeNvV63J5ezn3uZzapT0u7EYsXMjQV+0En5r" crossorigin="anonymous">

  <!-- Latest compiled and minified JavaScript -->
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js" integrity="sha384-0mSbJDEHialfmuBBQP6A4Qrprq5OVfW37PRR3j5ELqxss1yVqOtnepnHVP9aJ7xS" crossorigin="anonymous"></script>
</head>
<body>

<div class="row">
  <div class="col-md-4"></div>
  <div class="col-md-4">

    <center><h4>CONSULTA TU GUIA DE ENVIO</h4></center>
    <form method="POST" action="registro.php" >
    <div class="form-group">
      <label for="documento">Documento</label>
      <input type="text" name="doc" class="form-control" id="doc">
    </div>

     <center>
  
      <input type="submit" value="Consultar" class="btn btn-info" name="btn2">
    </center>

  </form>

  </div>
  <div class="col-md-4"></div>
</div>

</body>
</html>

PHP:
<?php

    if(isset($_POST['btn2']))
    {
      include("abrir_conexion.php");
      
    $conexion = mysqli_connect($host,$user,$pw, $bd);
        // prueba la conexión
    if (!$conexion) {
        die("Connection failed: " . mysqli_connect_error());
    }
    if($_POST['doc']=="") //VERIFICO QUE AGREGEN UN DOCUMENTO OBLIGATORIAMENTE.
       {echo "Digita un documento por favor. (Ej: 123)";}
     else
        {
        $resultados = mysqli_query($conexion,"SELECT * FROM (tabla) WHERE cedula = ('$_POST[doc]')");
        if($resultados->num_rows == 0)
            {
                echo "Registro no encontrado";
            }
        else
            {
            while($consulta = mysqli_fetch_array($resultados))
                {
                echo
                "
                <table width=\"100%\" border=\"1\">
                <tr>
                  <td height=\"28\"><b>Nombre</b></td><td>".$consulta['nombre']."</td>
                </tr>
                <tr>
                  <td height=\"28\"><b>Documento</b></td><td>".$consulta['cedula']."</td>
                </tr>
                <tr>
                  <td height=\"28\"><b>Guia</b></td><td>".$consulta['numerode']."</td>
                </tr>
                <tr>
                  <td height=\"28\"><b>Empresa de envio</b></td><td>".$consulta['empresade25']."</td>
                </tr>
                <tr>
                  <td height=\"28\"><b>Nota</b></td><td>".$consulta['nota']."</td>
                </tr>
                <tr>
                  <td height=\"28\"><b>Comentarios</b></td><td>".$consulta['comentarios']."</td>
                </tr>
              
                </table>
                ";
                }
            }  
        }
     // include("cerrar_conexion.php");
    }
  ?>

En este archivo va incluida la parte que le dijeron arriba que podía utilizar. Compare estos archivos con los suyos para que vea cuales son los errores que está cometiendo.

Saludos
Había estado algo ausente y no había podido dar las gracias.
ya pode hacerlo funcionar.
muchas gracias fue de mucha utilidad
 

Bandolera

Lanero Reconocido
Se unió
6 May 2008
Mensajes
204
Hola laneros.
Una consulta. Trabajo con php y smarty. Y tengo un proceso donde ingreso en un formulario el usuario y fecha de trabajo. Y se realizan algunos procesos consecutivos que muestran resultados en pantalla, controlador (php) y vista (smarty). Al terminar quiero accesar a ese usuario y fecha de trabajo y se muestren y graben en la base de datos.
Debo declarar esas variables como $GLOBALS[] ?? o debo crearlas como sesiones? Qué es lo más recomendable para acceder desde cualquier lugar de la aplicación? Gracias.
 

Cacharrin

Lanero Reconocido
Se unió
1 Jun 2007
Mensajes
1,297
Hola laneros.
Una consulta. Trabajo con php y smarty. Y tengo un proceso donde ingreso en un formulario el usuario y fecha de trabajo. Y se realizan algunos procesos consecutivos que muestran resultados en pantalla, controlador (php) y vista (smarty). Al terminar quiero accesar a ese usuario y fecha de trabajo y se muestren y graben en la base de datos.
Debo declarar esas variables como $GLOBALS[] ?? o debo crearlas como sesiones? Qué es lo más recomendable para acceder desde cualquier lugar de la aplicación? Gracias.
Según lo que dices... yo lo haría por sesión, pues dices que quieres reutilizar esos valores más adelante al finalizar otros llamados...
 

DarkFulgoreII

Lanero Reconocido
Se unió
31 Ago 2008
Mensajes
1,104
Para una pregunta tan amplia... Una respuesta mas amplia:
Si, tapando todos los huecos de seguridad de su sitio web.

Sent from my MotoG3-TE using Laneros mobile app
Tal cual ... bueno , si sirve de algo para hacer un defacement tuvieron que tener o lograr acceso de escritura a los archivos que definen la apariencia , tanto a los html (o los php / jsp/ asp que los generan ) y a los CSS . Otra posibilidad es una inyección de código (js o inclusive meter CSS o html en una consulta de sql ) ... en fin , maneras hay muchas ...


Sent from my iPhone using Tapatalk
 

eridamega

Lanero Reconocido
Se unió
17 Mar 2006
Mensajes
681
Laneros conocedores de la forma mas sencilla como puedo hacer esto
Tengo un valor del envio XXX en varias paginas de mi web. pj (pqr, articulos X, articulos Y)
De que forma puedo cambiar el valor del envio XXX en XXYY y que se cambie automaticamente donde esta escrito en mis otras paginas de mi web, y no tener que cambiarlas manualmente en cada una?
Agradezco mucho su colaboración.
 

Cacharrin

Lanero Reconocido
Se unió
1 Jun 2007
Mensajes
1,297
Laneros conocedores de la forma mas sencilla como puedo hacer esto
Tengo un valor del envio XXX en varias paginas de mi web. pj (pqr, articulos X, articulos Y)
De que forma puedo cambiar el valor del envio XXX en XXYY y que se cambie automaticamente donde esta escrito en mis otras paginas de mi web, y no tener que cambiarlas manualmente en cada una?
Agradezco mucho su colaboración.
No le entendí muy bien el problema... tiene un
<input name="XXX"> y ahora quiere cambiarlo a <input name="XXYY"> en todo el sitio?
Podría aclararme un poco el problema?
 

eridamega

Lanero Reconocido
Se unió
17 Mar 2006
Mensajes
681
No le entendí muy bien el problema... tiene un
<input name="XXX"> y ahora quiere cambiarlo a <input name="XXYY"> en todo el sitio?
Podría aclararme un poco el problema?
Gracias por tu respuesta.
hola.jpg
Como información tengo, valor del envio 8.500 en varias vínculos de mi web. (en oximetros, articulos, repuestos) cuando el valor del envio cambia por ejemplo a 9.000 yo debo cambiar el valor por en cada vinculo, uno por uno.
Yo deseo poder modificarlo en una sola (así como cuando uno cambia el significado de una variable no debe cambiarlo en toda la pagina)
 

noseman

Lanero Reconocido
Lanero VIP
Se unió
21 May 2002
Mensajes
742
Gracias por tu respuesta.
Ver el archivo adjunto 293584
Como información tengo, valor del envio 8.500 en varias vínculos de mi web. (en oximetros, articulos, repuestos) cuando el valor del envio cambia por ejemplo a 9.000 yo debo cambiar el valor por en cada vinculo, uno por uno.
Yo deseo poder modificarlo en una sola (así como cuando uno cambia el significado de una variable no debe cambiarlo en toda la pagina)
En tu pregunta está la respuesta, la única manera que tienes de hacerlo es con un variable, ya sea en código o en base de datos, la primera vez te tocará cambiar el valor de cada vínculo por la variable, más adelante sólo tendrías que cambiar la variable.
 

eridamega

Lanero Reconocido
Se unió
17 Mar 2006
Mensajes
681
En tu pregunta está la respuesta, la única manera que tienes de hacerlo es con un variable, ya sea en código o en base de datos, la primera vez te tocará cambiar el valor de cada vínculo por la variable, más adelante sólo tendrías que cambiar la variable.
En mi ignorancia, yo se recibir valores por POST de un formulario, como haria para que 8.500 de la variable $envio='8.500'; aparezca en las paginas que quiero que este si no los enviare por medio de un formulario?
 

Sith_Rampage

Sith Lord
Se unió
16 Feb 2009
Mensajes
1,749
Si usa una variable o trae ese valor de la base de datos, no necesita enviarlo por post, lo lee donde necesite calcularlo o mostrarlo y ya.

Así se puede evitar manipulaciones en ese valor.
 

eridamega

Lanero Reconocido
Se unió
17 Mar 2006
Mensajes
681
Si usa una variable o trae ese valor de la base de datos, no necesita enviarlo por post, lo lee donde necesite calcularlo o mostrarlo y ya.

Así se puede evitar manipulaciones en ese valor.
Ok, gracias por contestar.
Como se llama el tema o procedimiento para leerlo y/o buscar tutoriales ...?
 
Arriba