PHP - Fallos programa PHP / Base de datos

 
Vista:
sin imagen de perfil

Fallos programa PHP / Base de datos

Publicado por william (4 intervenciones) el 22/05/2020 09:14:42
Buen día,

Quisiera que me ayudasen con este programa ya que tengo varios días intentando culminar.

El software consiste en un censo de un país, en el que se pueden añadir, modificar, y eliminar dichos datos de la base de datos. El problema es que al acceder al fichero modificar.php no me muestra el valor almacenado. Quisiera también saber como puedo insertar datos en mi segunda tabla contacto ya que no me lo está permitiendo. Adjunto captura del formulario modificar.php y de la base de datos que estoy usando conjuntamente con el código. Si alguien pudiese ayudarme y orientarme sería genial ya que llevo tiempo investigando pero no logro dar con ello.

WhatsApp-Image-2020-05-21-at-1.53.40-PM


Base de datos usada
bbdd
contacto_TABLE
ciudadano_TABLE


Codigo fuente

Formbd.php
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
<!DOCTYPE html>
<html>
	<head>
 
 	<TITLE>CENSO 2020</TITLE>
 	   <H1><center>CENSO 2020</center></H1>
        <H5><CENTER>Bienvenido. Censado numero
 
 
        <?php
        // Caduca en un año
        setcookie('contador', $_COOKIE['contador'] + 1, time() + 365 * 24 * 60 * 60);
        Echo $_COOKIE['contador'];
        ?>
 
 
 
        </CENTER></H5>
 	</head>
 
 
 	<body>
 			<CENTER>
 			<H4>Datos Personales</H4>
 
            <form method="POST" action="registrar.php">
            <br/><br/>
 
			<p1><label>Nombres:</label></p1>
			<input REQUIRED name="VNombres">
 
			<p1><label>Primer apellido:</label></p1>
			<input REQUIRED name="V_PApellido">
 
			<p1><label>Segundo apellido:</label></p1>
			<input REQUIRED name="V_SApellido">
            <br/><br/>
 
            <br/><br/>
			<p2><label>Edad:</label></p2>
			<input REQUIRED name="VEdad">
 
 
 
			<p2><label>Sexo</label></p2>
			<Select name="VSexo">
                <option REQUIRED value="Masculino">Masculino</option>
                <option REQUIRED value="Femenino">Femenino</option>
            </Select>
            <br/><br/>
 
 
			<H4>Datos de contacto</H4>
 
            <br/><br/>
			<p1><label>Movil</label></p1>
			<input REQUIRED name="VMovil">
 
			<p1><label>Fijo:</label></p1>
			<input REQUIRED name="VFijo">
			<br/><br/>
 
 
            <br/><br/>
			<p1><label>Dirección:</label></p1>
			<input REQUIRED name="VDireccion">
 
			<p1><label>Provincia:</label></p1>
			<input REQUIRED name="VProvincia">
 
			<p1><label>Municipio:</label></p1>
			<input REQUIRED name="VMunicipio">
            <br/><br/>
 
            <br/><br/>
            <p4><input type="submit" name="btnRegistrar" value="REGISTRAR"></p4>
            <br/><br/>
 
	</body>
</html>



muestra.php
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
<!DOCTIPE HTML>
<html lang="es">
    <head>
    <meta charset="UTF-8">
    <title>TABLA</title>
 
    </head>
    <body>
        <CENTER>
            <TABLE border="3">
                <THEAD>
                    <th><a href="Formbd.php">INGRESAR DATOS</a></th>
                    <th2>DATOS ALMACENADOS - CENSO 2020</th2>
                </THEAD>
                <TBODY>
                   <tr>
                        <td colspan="2">Operaciones</td>
                        <td>Id</td>
                        <td>Nombres</td>
                        <td>Primer Apellido</td>
                        <td>Segundo Apellido</td>
                        <td>Edad</td>
                        <td>Sexo</td>
                        <td>Movil</td>
                        <td>Fijo</td>
                        <td>Direccion</td>
                        <td>Provincia</td>
                        <td>Municipio</td>
                        <td>IDdireccion</td>
 
 
                    </tr>
                    <?php
                    //CONEXION BBDD//
                    $server = "localhost";
                    $usuario = "root";
                    $contrasena = "admin";
                    $bd = "censo";
                    $conexion = mysqli_connect($server,$usuario,$contrasena, $bd)
                        or die("error al conectarse a la base de datos");
                    /////////////////////////////////////////////
                    $query="SELECT `ciudadano`.*, `contacto`.* FROM `ciudadano` LEFT JOIN `contacto` ON `contacto`.`IDcuidadano` = `ciudadano`.`IDciudadano` order by `IDciudadano`";
                    $resultado= $conexion->query($query);
                    while($row=$resultado->fetch_assoc()){
                     ?>
                       <tr>
                         <td><a href="modificar.php?id=<?php echo $row['IDciudadano'];?>">Modificar</a></td>
                        <td><a href="eliminar.php?id=<?php echo $row['IDciudadano'];?>">Eliminar</a></td>
                        <td><?php echo $row['IDciudadano']; ?></td>
                        <td><?php echo $row['Nombres']; ?></td>
                        <td><?php echo $row['PrimerApellido']; ?></td>
                        <td><?php echo $row['SegundoApellido']; ?></td>
                        <td><?php echo $row['Edad']; ?></td>
                        <td><?php echo $row['Sexo']; ?></td>
                        <td><?php echo $row['TelefonoMovil']; ?></td>
                        <td><?php echo $row['TelefonoFijo']; ?></td>
                        <td><?php echo $row['Direccion']; ?></td>
                        <td><?php echo $row['Provincia']; ?></td>
                        <td><?php echo $row['Municipio']; ?></td>
                        <td><?php echo $row['IDdireccion']; ?></td>
 
                       </tr>
                    <?php
                                                            }
                     ?>
                </TBODY>
            </TABLE>
        </CENTER>
 
    </body>
</html>


registrar.php
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
<?php
 
$server = "localhost";
$usuario = "root";
$contrasena = "admin";
$bd = "censo";
$conexion = mysqli_connect($server,$usuario,$contrasena, $bd)
    or die("error al conectarse a la base de datos");
 
 
$VNombres = $_POST['VNombres'];
$V_PApellido=$_POST['V_PApellido'];
$V_SApellido=$_POST['V_SApellido'];
$VEdad=$_POST['VEdad'];
$VSexo=$_POST['VSexo'];
$VMovil=$_POST['VMovil'];
$VFijo=$_POST['VFijo'];
$VDireccion=$_POST['VDireccion'];
$VProvincia=$_POST['VProvincia'];
$VMunicipio=$_POST['VMunicipio'];
 
$insertar = "INSERT INTO `ciudadano` (`IDciudadano`, `Nombres`, `PrimerApellido`, `SegundoApellido`, `Edad`, `IDdireccion`, `Sexo`) VALUES (NULL, '$VNombres', '$V_PApellido', '$V_SApellido', '$VEdad', 'NULL', '$VSexo')";
$resultado = mysqli_query($conexion, $insertar)
    or die ("Error al insertar datoscuidadano!");
 
 
ESTA ES LA SECUENCIA QUE NO LOGRO EJECUTAR PARA INSERTAR DATOS EN LA TABLA contacto.php
 
$insertar2 = "INSERT into contacto values (NULL, '$VMovil', '$VFijo', '$VDireccion', '$VEdad', '$VProvincia', '$VMunicipio', 'NULL','NULL')";
$resultado = mysqli_query($conexion, $insertar2)
    or die ("Error al insertar datos2!");
 
mysqli_close($conexion);
echo "DATOS INSERTADOS CORRECTAMENTE";
?>

modificar.php
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
<!DOCTIPE HTML>
<html lang="es">
    <head>
    <meta charset="UTF-8">
    <title>MODIFICACION DE DATOS</title>
        <CENTER><T1>MODIFICACION DE DATOS</T1></CENTER>
    </head>
    <body>
    <CENTER>
 			<H4>Datos Personales</H4>
 
            <form method="POST" action="registrar.php">
 
             <?php
             //$idC=$_REQUEST['IDciudadano']
            $idC=(isset($_GET["IDciudadano"]));
 
            //$idC = $_GET['IDciudadano'];
             //CONEXION BBDD//
             $server = "localhost";
             $usuario = "root";
             $contrasena = "admin";
             $bd = "censo";
             $conexion = mysqli_connect($server,$usuario,$contrasena, $bd)
                 or die("error al conectarse a la base de datos");
             ///////////////////////////////////////////////////////////////
 
             $query="SELECT * FROM ciudadano WHERE IDciudadano='$idC'";
             $resultado= $conexion -> query("SELECT * FROM ciudadano WHERE IDciudadano='$idC'");
             //$resultado = mysqli_query($conexion, $query);
             $row=$resultado->fetch_assoc();
 
 
 
             ?>
 
            <br/><br/>
 
			<p1><label>Nombres:</label></p1>
			<input REQUIRED name="VNombres" value="<?php echo row['Nombres'];?>">
 
			<p1><label>Primer apellido:</label></p1>
			<input REQUIRED name="V_PApellido" value="<?php echo row['PrimerApellido'];?>">
 
			<p1><label>Segundo apellido:</label></p1>
			<input REQUIRED name="V_SApellido" value="<?php echo row['SegundoApellido'];?>">
            <br/><br/>
 
            <br/><br/>
			<p2><label>Edad:</label></p2>
			<input REQUIRED name="VEdad" value="<?php echo row['Edad'];?>">
 
 
 
			<p2><label>Sexo</label></p2>
			<Select name="VSexo" value="<?php echo row['Sexo'];?>">
                <option REQUIRED value="Masculino">Masculino</option>
                <option REQUIRED value="Femenino">Femenino</option>
            </Select>
            <br/><br/>
 
 
			<H4>Datos de contacto</H4>
 
            <br/><br/>
			<p1><label>Movil</label></p1>
			<input REQUIRED name="VMovil" value="<?php echo row['TelefonoMovil'];?>">
 
 
			<p1><label>Fijo:</label></p1>
			<input REQUIRED name="VFijo" value="<?php echo row['TelefonoFijo'];?>">
			<br/><br/>
 
 
            <br/><br/>
			<p1><label>Dirección:</label></p1>
			<input REQUIRED name="VDireccion" value="<?php echo row['Direccion'];?>">
 
			<p1><label>Provincia:</label></p1>
			<input REQUIRED name="VProvincia" value="<?php echo row['Provincia'];?>">
 
			<p1><label>Municipio:</label></p1>
			<input REQUIRED name="VMunicipio" value="<?php echo row['Municipio'];?>">
            <br/><br/>
 
            <br/><br/>
            <p4><input type="submit" name="btnGuardar" value="GUARDAR"></p4>
            <br/><br/>
    </body>
</html>


eliminar.php
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
<!DOCTIPE HTML>
<html lang="es">
    <head>
    <meta charset="UTF-8">
    <title>ELIMINAR DATOS</title>
 
    </head>
    <body>
        <CENTER>
 
 
 
                    <?php
                    //CONEXION BBDD//
                    $server = "localhost";
                    $usuario = "root";
                    $contrasena = "admin";
                    $bd = "censo";
                    $conexion = mysqli_connect($server,$usuario,$contrasena, $bd)
                        or die("error al conectarse a la base de datos");
                    /////////////////////////////////////////////
                    $ID = $_POST['IDciudadano'];
                    mysqli_query(conexion, "DELETE from ciudadanos where IDciudadano='$ID'")
                        or die("ERROR AL ELIMINAR DATOS");
                    mysqli_close($conexion);
                    echo "datos eliminados";
                     ?>
 
        </CENTER>
 
    </body>
</html>

Un Saludo y muchas gracias.
Espero puedan ayudarme por favor.
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
Imágen de perfil de javier
Val: 595
Bronce
Ha aumentado su posición en 14 puestos en PHP (en relación al último mes)
Gráfica de PHP

Fallos programa PHP / Base de datos

Publicado por javier (167 intervenciones) el 22/05/2020 09:29:59
Hola, es sencillo, si buscas en google como obtener los posibles errores de mysqli, seguramente te des cuenta de lo que estas haciendo mal, o por lo menos que te de un error que alguien te pueda decir como solucionarlo.

https://www.w3schools.com/php/func_mysqli_error.asp

saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
-1
Comentar
sin imagen de perfil

Fallos programa PHP / Base de datos

Publicado por william (4 intervenciones) el 22/05/2020 11:15:38
Es que estoy haciendo que inicialmente se comenta pero no funciona, pueden orientarme?

El error de uno de los campos es el siguiente:
<br /><b>Warning</b>: Use of undefined constant row - assumed 'row' (this will throw an Error in a future version of PHP) in <b>C:\xampp\htdocs\CensoNuevo3\modificar.php</b> on line <b>40</b><br /><br /><b>Warning</b>: Illegal string offset 'Nombres' in <b>C:\xampp\htdocs\CensoNuevo3\modificar.php</b> on line <b>40</b><br />r
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
sin imagen de perfil

Fallos programa PHP / Base de datos

Publicado por william (4 intervenciones) el 22/05/2020 11:18:10
El error es este

<br /><b>Warning</b>: Use of undefined constant row - assumed 'row' (this will throw an Error in a future version of PHP) in <b>C:\xampp\htdocs\CensoNuevo3\modificar.php</b> on line <b>40</b><br /><br /><b>Warning</b>: Illegal string offset 'Nombres' in <b>C:\xampp\htdocs\CensoNuevo3\modificar.php</b> on line <b>40</b><br />r
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 joel
Val: 2.155
Oro
Ha disminuido 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Fallos programa PHP / Base de datos

Publicado por joel (638 intervenciones) el 22/05/2020 14:01:26
"row" tiene que ir con el $ delante... tiene que ser "$row"
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

Fallos programa PHP / Base de datos

Publicado por william (4 intervenciones) el 22/05/2020 21:54:03
Tampoco ha funcionado.. :(
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 javier
Val: 595
Bronce
Ha aumentado su posición en 14 puestos en PHP (en relación al último mes)
Gráfica de PHP

Fallos programa PHP / Base de datos

Publicado por javier (167 intervenciones) el 23/05/2020 10:42:27
no puede ser

si tu en tu script dices que $row tiene que tener la info de la query a la base de datos, no?

1
$row=$resultado->fetch_assoc();

Joel tiene razon y has de poner el signo dolar $ antes de row['LO_QUE_SEA']

es que no lo heces en ninguno de la siguiente parte:

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
<p1><label>Nombres:</label></p1>
<input REQUIRED name="VNombres" value="<?php echo row['Nombres'];?>">
 
<p1><label>Primer apellido:</label></p1>
<input REQUIRED name="V_PApellido" value="<?php echo row['PrimerApellido'];?>">
 
<p1><label>Segundo apellido:</label></p1>
<input REQUIRED name="V_SApellido" value="<?php echo row['SegundoApellido'];?>">
<br/><br/>
 
<br/><br/>
<p2><label>Edad:</label></p2>
<input REQUIRED name="VEdad" value="<?php echo row['Edad'];?>">
 
 
 
<p2><label>Sexo</label></p2>
<Select name="VSexo" value="<?php echo row['Sexo'];?>">
    <option REQUIRED value="Masculino">Masculino</option>
    <option REQUIRED value="Femenino">Femenino</option>
</Select>
<br/><br/>
 
 
<H4>Datos de contacto</H4>
 
<br/><br/>
<p1><label>Movil</label></p1>
<input REQUIRED name="VMovil" value="<?php echo row['TelefonoMovil'];?>">
 
 
<p1><label>Fijo:</label></p1>
<input REQUIRED name="VFijo" value="<?php echo row['TelefonoFijo'];?>">
<br/><br/>
 
 
<br/><br/>
<p1><label>Dirección:</label></p1>
<input REQUIRED name="VDireccion" value="<?php echo row['Direccion'];?>">
 
<p1><label>Provincia:</label></p1>
<input REQUIRED name="VProvincia" value="<?php echo row['Provincia'];?>">
 
<p1><label>Municipio:</label></p1>
<input REQUIRED name="VMunicipio" value="<?php echo row['Municipio'];?>">
<br/><br/>

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