PHP - Base de Dadas

 
Vista:
sin imagen de perfil
Val: 36
Ha aumentado su posición en 4 puestos en PHP (en relación al último mes)
Gráfica de PHP

Base de Dadas

Publicado por Pau (11 intervenciones) el 24/05/2019 19:14:37
Hola a ver si hay alguien que me pueda ayudar con esto:


Me gustaría que una vez se hayan entrado los datos me salgan en pantalla pero me sale en blanco cual es el error...llevo horas buscando y me estoy volviendo loco

hos dejo el codigo 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
<html>
    <head>
        <meta charset="utf-8">
        <title>
            Pau Raurich
        </title>
    </head>
    <body>
        <?php
        $taula = "alumnes";
        $link = mysqli_connect("localhost", "root", "");
        mysqli_select_db($link, "curs" );
        $accents = $link->query("SET NAMES 'utf8'");
 
        $v1 = filter_input(INPUT_POST, "NIF");
        $v2 = filter_input(INPUT_POST, "NOM");
        $v3 = filter_input(INPUT_POST, "COGNOM");
        $v4 = filter_input(INPUT_POST, "MOBIL");
        $v5 = filter_input(INPUT_POST, "ADREÇA");
        $v6 = filter_input(INPUT_POST, "POBLACIO");
 
        if(filter_input(INPUT_POST, ""))
        {
            $queryInert = "INSERT INTO $taula (NIF, NOM, COGNOM, MOBIL, ADREÇA, POBLACIO) VALUES ($v1, $v2, $v3, $v4, $v5, $v6);";
            $resultInsert = mysqli_query($link, $queryInert);
            if($resultInsert){echo "S'han guardat els registres correctament<br>";}
            else{"No s'han guardat els registres<br>";}
        }
        $link= mysqli_connect("localhost", "root", "");
        mysqli_select_db($link, "curs" );
        $accents = $link->query("SET NAMES 'utf8'");
        $result = mysqli_query($link, "SELECT * FROM alumnes");
        while ($fila = mysqli_fetch_array($result)){ mostrarDades($fila);}
        mysqli_free_result($result);
        mysqli_close($link);
 
        function mostrarDades($res)
        {
            if ($res !=NULL)
            {
                echo "NIF: ".$res['NIF']."</t>";
                echo "NOM: ".$res['NOM']."</t>";
                echo "COGNOM: ".$res['COGNOM']."</t>";
                echo "MOBIL: ".$res['MOBIL']."</t>";
                echo "ADREÇA: ".$res['ADREÇA']."</t>";
                echo "POBLACIO: ".$res['POBLACIO']."<br>";
                echo "<hr>";
            }
            else {echo "<br/>No hi han mes dades!!<br/>";}
        }
        ?>
 
    </body>
</html>
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
1
Responder
sin imagen de perfil
Val: 1.107
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Base de Dadas

Publicado por Yamil Bracho (886 intervenciones) el 24/05/2019 19:26:38
En mostrarDades haces un var_dump($res) para ver que trae esta variable
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: 116
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Base de Dadas

Publicado por Javier (42 intervenciones) el 24/05/2019 19:36:12
Utiliza esto al final de tu codigo antes de cerrar el PHP
1
2
3
4
5
<?php
$debug=get_defined_vars();
var_dump($debug);
	error_reporting(E_ALL);
?>
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
Val: 36
Ha aumentado su posición en 4 puestos en PHP (en relación al último mes)
Gráfica de PHP

Base de Dadas

Publicado por Pau (11 intervenciones) el 25/05/2019 14:34:40
Me salen un monton de errores si lo pongo aqui:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
function mostrarDades($res)
{
    if ($res !=NULL)
    {
        echo "NIF: ".$res['NIF']."</t>";
        echo "NOM: ".$res['NOM']."</t>";
        echo "COGNOM: ".$res['COGNOM']."</t>";
        echo "MOBIL: ".$res['MOBIL']."</t>";
        echo "ADREÇA: ".$res['ADREÇA']."</t>";
        echo "POBLACIO: ".$res['POBLACIO']."<br>";
        echo "<hr>";
    }
    else {echo "<br/>No hi han mes dades!!<br/>";}
 
}
$debug=get_defined_vars();
var_dump($debug);
error_reporting(E_ALL);

pero si lo pongo asi no me sale nada...

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
function mostrarDades($res)
{
    if ($res !=NULL)
    {
        echo "NIF: ".$res['NIF']."</t>";
        echo "NOM: ".$res['NOM']."</t>";
        echo "COGNOM: ".$res['COGNOM']."</t>";
        echo "MOBIL: ".$res['MOBIL']."</t>";
        echo "ADREÇA: ".$res['ADREÇA']."</t>";
        echo "POBLACIO: ".$res['POBLACIO']."<br>";
        echo "<hr>";
    }
    else {echo "<br/>No hi han mes dades!!<br/>";}
 
 
$debug=get_defined_vars();
var_dump($debug);
error_reporting(E_ALL);
}
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
Imágen de perfil de Mauro
Val: 1.782
Plata
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Base de Dadas

Publicado por Mauro (610 intervenciones) el 27/05/2019 15:18:05
¿Podrías comentar cuáles son los errores que ves?
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
Val: 36
Ha aumentado su posición en 4 puestos en PHP (en relación al último mes)
Gráfica de PHP

Base de Dadas

Publicado por Pau (11 intervenciones) el 27/05/2019 17:19:30
Ahora ya no pq lo tengo muy cambiado...pero me podrias ayudar con otra cosa;
estoy intentando connectar el archivo php con phpmyadmin y no se envian los datos, pero tanpoco me sale ningun error...i ns que hacer...
alguien me podria ayudar

Aqui hos dejo el codigo .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
<html>
    <head>
        <meta charset="utf-8">
        <title>
            Pau Raurich
        </title>
    </head>
    <body>
        <?php
		$v1 = $_POST['NIF'];
        $v2 = $_POST['NOM'];
        $v3 = $_POST['COGNOM'];
        $v4 = $_POST['MOBIL'];
        $v5 = $_POST['ADREÇA'];
        $v6 = $_POST['POBLACIO'];
 
        $taula = "alumnes";
        $link = mysqli_connect("localhost", "root", "");
        mysqli_select_db($link, "curs" );
        $accents = $link->query("SET NAMES 'utf8'");
 
        if($_POST)
        {
            $queryInert = "INSERT INTO $taula (NIF, NOM, COGNOM, MOBIL, ADREÇA, POBLACIO) VALUES ('$_POST[NIF]','$_POST[NOM]','$_POST[COGNOM]','$_POST[MOBIL]','$_POST[ADREÇA]','$_POST[POBLACIO]')";
            $resultInsert = mysqli_query($link, $queryInert);
            if($resultInsert){echo "S'han guardat els registres correctament<br>";}
            else{"No s'han guardat els registres<br>";}
        }
 
        $link = mysqli_connect("localhost", "root", "");
        mysqli_select_db($link, "curs" );
        $accents = $link->query("SET NAMES 'utf8'");
        $result = mysqli_query($link, "SELECT * FROM alumnes");
        echo "NIF: $v1<br>";
        echo "NOM: $v2<br>";
        echo "COGNOM: $v3<br>";
        echO "MOBIL: $v4<br>";
        echo "ADREÇA: $v5<br>";
        echo "POBLACIO: $v6<br>";
        mysqli_free_result($result);
        mysqli_close($link);
        ?>
    </body>



aqui el .html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<html>
    <head>
        <title>
            Pau Raurich
        </title>
    </head>
    <body>
    <form method="POST" action="E5_1.php">
        NIF: <input type="text" name="NIF"><br><br>
        Nom: <input type="text" name="NOM"><br><br>
        Cognom: <input type="text" name="COGNOM"><br><br>
        Mobil: <input type="text" name="MOBIL"><br><br>
        Adreça: <input type="text" name="ADREÇA"><br><br>
        Població: <input type="text" name="POBLACIO"><br><br>
 
        <input type="submit" name="Guardar" value="Guardar">
        <input type="reset" name="Restaurar" value="Restaurar">
    </form>
    </body>
</html>
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: 116
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Base de Dadas

Publicado por Javier (42 intervenciones) el 27/05/2019 19:06:49
Estas dando por hecho que no hay ningun error en tu query... dale un echo y ejecutalo de manera manual para ver si hace lo que deberia de hacer.
1
2
$queryInert = "INSERT INTO $taula (NIF, NOM, COGNOM, MOBIL, ADREÇA, POBLACIO) VALUES ('$_POST[NIF]','$_POST[NOM]','$_POST[COGNOM]','$_POST[MOBIL]','$_POST[ADREÇA]','$_POST[POBLACIO]')";
echo $queryInert ;
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

Base de Dadas

Publicado por Yamil Bracho (24 intervenciones) el 27/05/2019 19:41:53
Ya los valores del $_POST los tienes en las variables $v1,..$v6
Asi que debes usarlos en tu query.
Tendrias tener que ver cuales de estos campos son texto (varchar o string) para entonces ajustar
los correspondientes apostrofes. Bastante engorros de manejar y propenso a SQl Injection
asi que te recomiendo usar una sentencia preparada

1
2
3
$stmt = $mysqli->prepare("INSERT INTO $taula (NIF, NOM, COGNOM, MOBIL, ADREÇA, POBLACIO) VALUES (?, ?, ?, ?, ?, ?);");
$stmt->bind_param("sssssi", $v1, $v2, $v3, $v4, $v5, $v6);
$stmt->execute();


El primer parametro de bind_param dice que tipo de datos es el parametro.
i=Integer, d=Double, s=String, b=Blob

Tambien puedes obviar las varaiables temporales que create y usar directamente los datos del $_POST. Asi
1
$stmt->bind_param("sssssi", $POST['NIF'], $POST['NOM'], $POST['COGNOM'], $POST['MOBIL'], $POST['ADREÇA'], $_POST['POBLACIO']);
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
Val: 36
Ha aumentado su posición en 4 puestos en PHP (en relación al último mes)
Gráfica de PHP

Base de Dadas

Publicado por Pau (11 intervenciones) el 27/05/2019 23:21:13
masalen unos errores de Índice indefinido:


Notice: Undefined index: NIF in C:\xampp\htdocs\p1_1.php on line 10

Notice: Undefined index: NOM in C:\xampp\htdocs\p1_1.php on line 11

Notice: Undefined index: COGNOM in C:\xampp\htdocs\p1_1.php on line 12

Notice: Undefined index: MOBIL in C:\xampp\htdocs\p1_1.php on line 13

Notice: Undefined index: ADREÇA in C:\xampp\htdocs\p1_1.php on line 14

Notice: Undefined index: POBLACIO in C:\xampp\htdocs\p1_1.php on line 15
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
Val: 36
Ha aumentado su posición en 4 puestos en PHP (en relación al último mes)
Gráfica de PHP

Base de Dadas

Publicado por Pau (11 intervenciones) el 27/05/2019 23:13:22
he hecho esto:

1
2
$queryInert = "INSERT INTO $taula (NIF, NOM, COGNOM, MOBIL, ADREÇA, POBLACIO) VALUES ($v1, $v2, $v3, $v4, $v5, $v6);");
echo $queryInert;

i me sale esto:
Parse error: syntax error, unexpected ')' in C:\xampp\htdocs\p1_1.php on line 24
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: 116
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Base de Dadas

Publicado por Javier (42 intervenciones) el 28/05/2019 00:40:18
Te recomiendo usar esto para mejorar tus futuros códigos:

1
2
3
4
5
6
7
8
9
10
11
$vars = array (
		$var1,
		$var2,
		$var3,
		$var4,
		$var5,
		$var6
);
$vars = str_replace(']', ')', str_replace('[', '(', json_encode($vars)));
$queryInert = "INSERT INTO $taula (NIF, NOM, COGNOM, MOBIL, ADREÇA, POBLACIO) VALUES .$vars.";
echo $queryInert;
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 Mauro
Val: 1.782
Plata
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Base de Dadas

Publicado por Mauro (610 intervenciones) el 27/05/2019 21:30:29
Ante todo hay que aclarar una cosa: phpMyAdmin es una aplicación para administrar bases de datos (MySQL), no una base de datos... ojo con confundirlos...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar