PHP - Necesito ayuda no veo el fallo

   
Vista:

Necesito ayuda no veo el fallo

Publicado por Sergio (20 intervenciones) el 12/06/2017 14:51:26
Voy a tratar de explicarlo en este nuevo post por que no me deja de modificar el otro lo siento.

el caso es que funciona todo, cuando pulsamos el button manda por la url http://localhost/sm-admin/include/form-usuario-actualizar.php?adminidtabla=9 hasta aqui todo bien, pero me sale el siguiente error:

Notice: Undefined index: adminidtabla in /opt/lampp/htdocs/sm-admin/include/form-usuario-actualizar.php on line 12

y no rellena la tabla con los datos pero el id='adminidtabla' name='adminidtabla' estan puestos.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
<?php
 
$mysqli = new mysqli("p:localhost","root","sergio19756685","cf_db");
 
$salida = "";
$mysqli->set_charset('utf8');
$query = "SELECT * FROM `admin-user` ORDER BY `ID` ";
 
if(isset($_POST['consulta'])) {
 
$q = $mysqli->real_escape_string($_POST['consulta']);
$query = "SELECT * FROM `admin-user` WHERE `admin-nombre` LIKE '%".$q."%' OR `admin-email` LIKE '%".$q."%' OR `admin-direccion` LIKE '%".$q."%' OR `admin-telefono` LIKE '%".$q."%' OR `admin-telefono2` LIKE '%".$q."%' ";
 
}
 
$resultado = $mysqli->query($query);
 
if($resultado->num_rows > 0) {
 
$salida.="<table class='tabla_datos table table-hover'>
<thead>
    <tr>
        <th> </th>
        <th>Nombre</th>
        <th>Tipo</th>
        <th>Email</th>
        <th>Teléfono</th>
        <th>Dirección</th>
        <th>Acciones</th>
    </tr>
</thead>
<tbody>";
 
while($fila = $resultado->fetch_assoc()) {
 
    $_SESSION();
 
$salida.="
<tr>
    
    <td>
    <input type='hidden' class='form-control' value='".$fila['ID']."'></td>
    <td>".$fila['admin-nombre']."</td>
    <td>".$fila['admin-tipo']."</td>
    <td>".$fila['admin-email']."</td>
    <td>".$fila['admin-telefono']."</td>
    <td>".$fila['admin-direccion']."</td>

    <td>
    <button id='adminidtabla' name='adminidtabla' type='submit' class='btn btn-outline btn-success' value='".$fila['ID']."'>Actualizar</button>
    <a href='include/form-usuario-actualizar.php' id ='borrar' class='btn btn-outline btn-danger'>Borrar</a></td>
   
</tr>";
}
 
$salida.="</tbody></table>";
 
} else {
 
$salida.="No se han encontrado coincidencias";
 
}
 
echo $salida;
 
$mysqli->close();
 
?>




1
2
3
4
5
6
7
8
9
10
11
<div class="panel-body">
    <div  class="table-responsive">
 
<form  name="usuario" action='include/form-usuario-actualizar.php' method='POST'>
    <fieldset id="datos">
// el codigo anterior lo incluimos aqui mediante AJAX
    <fieldset>
</form>
    </div>
<!-- /.table-responsive -->
</div>

Ahora el FORM que me da el error

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
<?php
 
$mysqli = new mysqli("p:localhost","root","","cf_db");
$mysqli->set_charset('utf8');
 
if ($mysqli->connect_errno) {
 
  die('Falló la conexión: ' . $mysqli->connect_errno);
  }
 
$consulta = "SELECT * FROM `admin-user` WHERE `ID`='{$_POST["adminidtabla"]}'"; // ESTA ES LA LINEA 12
 
$resultado = $mysqli->query($consulta);
$datos= $resultado->fetch_array(MYSQLI_ASSOC);
 
$adminnombre = $datos['admin-nombre'];
$adminpass = $datos['admin-pass'];
$admintipo = $datos['admin-tipo'];
$adminemail = $datos['admin-email'];
$adminfecha = $datos['admin-fecha'];
$admindireccion = $datos['admin-direccion'];
$adminlocalidad = $datos['admin-localidad'];
$adminprovincia = $datos['admin-provincia'];
$adminpais = $datos['admin-pais'];
$admintelefono = $datos['admin-telefono'];
$admintelefono2 = $datos['admin-telefono2'];
$admindni = $datos['admin-dni'];
$admincp = $datos['admin-cp'];
 
if($resultado == true) {
 
?>
<div class="row">
    <div class="col-lg-12">
        <h1 class="page-header">Gestión de Usuarios</h1>
    </div>
    <!-- /.col-lg-12 -->
 
<div class="col-lg-6">
     <a href="usuario-lista.php" class="btn btn-lg btn-outline btn-info">Volver Atrás</a>
     <hr>
</div>
 
<div class="col-lg-12">
     <div class="panel panel-primary">
            <div class="panel-heading">
 
                Actualizar registros de la DB de administración.
 
            </div>
 
	</div>
 
<div class="panel-body">
<form action="../db_php/#" method="post">
           <fieldset>
            <label>Nombre</label>
            <input required id="adminnombre" name="adminnombre" class="form-control" placeholder="Introduce un nombre" value="<?php echo $adminnombre;?>">
 
            <label>DNI</label>
            <input required id="admindni" name="admindni" class="form-control" placeholder="Introduce un DNI" value="<?php echo $admindni;?>">
 
                     <label>Dirección</label>
            <input required id="admindireccion" name="admindireccion"class="form-control" placeholder="Introduce una Dirección" value="<?php echo $admindireccion;?>">
 
                     <label>Localidad</label>
            <input required id="adminlocalidad" name="adminlocalidad"class="form-control" placeholder="Introduce una Localidad" value="<?php echo $adminlocalidad;?>">
 
            <label>CP</label>
            <input required id="admincp" name="admincp"class="form-control" placeholder="Introduce un CP" value="<?php echo $admincp;?>">
 
            <label>Provincia</label>
            <input required id="adminprovincia" name="adminprovincia"class="form-control" placeholder="Introduce una Provincia" value="<?php echo $adminprovincia;?>">
 
            <label>País</label>
            <input required id="adminpais" name="adminpais"class="form-control" placeholder="Introduce un País" value="<?php echo $adminpais;?>">
 
 
                     <label>Telefono</label>
            <input required id="admintelefono" name="admintelefono"class="form-control" placeholder="Introduce un Telefono" value="<?php echo $admintelefono;?>">
 
            <label>Móvil</label>
            <input required id="admintelefono2" name="admintelefono2"class="form-control" placeholder="Introduce un Móvil" value="<?php echo $admintelefono2;?>">
 
            <label>Emai</label>
            <input id="adminemail" pattern="[A-Za-z0-9_-@.]{1,15}" name="adminemail"class="form-control" placeholder="Introduce un email" value="<?php echo $adminemail;?>">
 
            <label>Nivel de usuario</label>
            <select id="admintipo" name="admintipo" class="form-control">
                    <option value="Administrador" selected>Administrador</option>
                    <option value="Tienda">Tienda</option>
                    <option value="Ventas">Ventas</option>
                    <option value="Productos">Productos</option>
 
            </select>
            <br>
            <button type="submit" class="btn btn-lg btn-outline btn-success">Actualizar registro</button>
 
             </fieldset>
</form>
                        </div>
                        <div class="panel-footer">
 
                        </div>
                    </div>
                </div>
 
  </div>
 
 
<?php
 
   }
 
   if($resultado == false) {
 
   ?>
 
  <div class="row">
                <div class="col-lg-12">
                    <h1 class="page-header">Gestión de Usuarios</h1>
                </div>
                <!-- /.col-lg-12 -->
 
<div class="col-lg-6">
 <a href="usuario-lista.php" class="btn btn-lg btn-outline btn-info">Volver Atrás</a>
  <hr>
</div>
 
<div class="col-lg-12">
                    <div class="panel panel-primary">
         <div class="panel-heading">
 
					Actualizar registros de la DB de administración.
 
			</div>
 
                    </div>
 
                        <div class="panel-body">
No se han encontrado resgistros que coincidan con el criterio buscado.
                        </div>
                        <div class="panel-footer">
 
                        </div>
                    </div>
                </div>
 
  </div>
<?php
 
}
 
$mysqli->close();
 
?>


Ya no se donde esta el fallo por favor si pueden ayudarme se lo agradeceria. SALUDOS.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Necesito ayuda no veo el fallo

Publicado por Sergio (20 intervenciones) el 12/06/2017 15:47:28
$_SESSION(); // esta quitado.

y las contraseñas estan bien auque aqui en los codigos esten mal


Bueno Solucionado el codigo esta bien solo habia que añadir esto al inicio de sesion

error_reporting(E_ALL ^ E_NOTICE);
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve

Necesito ayuda no veo el fallo

Publicado por xve (6642 intervenciones) el 12/06/2017 16:29:29
Con eso no solucionas el problema, simplemente escondes el mensaje!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Necesito ayuda no veo el fallo

Publicado por Juan (42 intervenciones) el 12/06/2017 18:47:18
Buenas Sergio

Has probado por lo que veo a ver que efectivamente recibes de tu consulta de la Base de Datos. Pues yo te doy una idea, el input que tienes como hidden, dale un nombre, el que quieras, y en el PHP que te da error, cambia el $_POST, por el del input. Si la consulta está bien hecha y recibe datos, estoy casi seguro que te enviará el valor bien. Lo de enviar datos a través de un <button>, personalmente no me convence nada.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Necesito ayuda no veo el fallo

Publicado por Sergio (20 intervenciones) el 12/06/2017 19:10:29
Gracias a todos llevaba dos dias liado con esto, pero añadiendo esto, << error_reporting(E_ALL ^ E_NOTICE); >> se solucionó problema, al desactivar las noticias dejo pasar los datos. GRACIAS GRACIAS
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Necesito ayuda no veo el fallo

Publicado por Miguel Ángel (5 intervenciones) el 14/06/2017 08:06:50
No solucionas tú problema con eso, solo ocultas el error, no te acostumbres a trabajar así.
A mí lo que me parece que sucede es que estás enviando parámetros por get y recogiéndolo por post. En la URL veo un adminidtabla y en el formato también. No logró pillar que es lo que quieres hacer. Cuando se envía por post, todo el contenido del formato va"oculto" en el cuerpo, no van datos en la URL. Así que me imagino que el problema está en que estás mezclando ambos conceptos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Necesito ayuda no veo el fallo

Publicado por Miguel Ángel (5 intervenciones) el 14/06/2017 08:10:48
Por cierto undefined quiere decir indefinido, es decir si el formulario va por post, la variable adminidtabla nunca la a existir en get (en la url).
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Necesito ayuda no veo el fallo

Publicado por Sergio (20 intervenciones) el 15/06/2017 10:52:59
El significado de undefined se cual es, pero de todas formas, gracias por recordarmelo, Si le haces un echo a la variable, veras que si esta definida y con datos, es un problema de Xampp y phpmyadmin y en stackoverflow lo comentan y dan una solucion -> https://es.stackoverflow.com/questions/47060/por-qu%C3%A9-me-da-el-error-notice-undefined-index.

Si te refieres a esto $adminidtabla = $_POST["adminidtabla"]; tambien lo hice y el mismo error.

1
2
3
<button id='adminidtabla' name='adminidtabla' type='submit' class='btn btn-outline btn-success' value='".$fila['ID']."'>Actualizar</button>
 
//CUANDO PULSAMOS EL BOTON MANDA POR POST EL VALUE DEL adminidtabla,  $_POST["adminidtabla"]; QUE ESTA METIDA DELTRO $consulta = "SELECT * FROM `admin-user` WHERE `ID`='{$_POST["adminidtabla"]}'"; // ESTA ES LA LINEA 12 que me daba el error.

La tabla tiene un boton de actualizar y uno de borrar por cada registro, hasta aquí bien no, antes estaban metidos los dos en el mismo FORM

1
2
3
4
<form action="ACTUALIZAR.php">
<button id='adminidtabla' name='adminidtabla' type='submit' class='btn btn-outline btn-success' value='".$fila['ID']."'>Actualizar</button>
<button id='adminidtabla' name='adminidtabla' type='submit' class='btn btn-outline btn-success' value='".$fila['ID']."'>Borrar</button>
</form>

FALLO: solo me permite hacer una llamada a un *.php o hacerlo por js, lo cambie asi dentro while:

1
2
3
4
5
6
7
<form action="ACTUALIZAR.php">
<button id='adminidtabla' name='adminidtabla' type='submit' class='btn btn-outline btn-success' value='".$fila['ID']."'>Actualizar</button>
</form>
 
<form action="BORRAR.php">
<button id='adminidtabla' name='adminidtabla' type='submit' class='btn btn-outline btn-success' value='".$fila['ID']."'>Borrar</button>
</form>
ahora cada button tiene su action.

Con los Links no puedes recoger los values, por que ME HACE FALTA EL VALOR DEL VALUE PARA QUE ME CARGUE EN LA PAGINA DE ACTUALIZAR SOLO UN REGISTRO.

Cambie de POST a GET para ver que es lo que mandaba y me di de cuenta que mandaba los ID de los tres registros que tenia la DB, ese problema lo arregle, pero me salio el error del que estamos hablando QUE SE SOLUCIONO de la forma que he descrito mas arriba.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Revisar política de publicidad