Why do not you save my mysql data via php?

0

html code

<html>
<head>
<title></title>
</head>
<body>
<form method="post" action="insertarp.php">
<b> Codigo Producto</b>
<input type=text name="codigop" > <br><br>
<b> Nombre Producto </b>
<input type=text name="nombrep" > <br><br>
<b> Valor Producto</b>
<input type=text name="valorp" > <br><br>
<input type=submit value="Insertar" ><br><br>
</form>
</body>
</html>

PHP CODE

<?php

$mysqli = new mysqli('127.0.0.1', 'root','','almacen');

if($mysqli->connect_errno){
    echo"Lo sentimos, este sitio web esta experimentando problemas <br>";
    echo"ERROR: Fallo al conectarse a MySQL debido a:<br>";
    echo "Errno:  ". $mysqli->connect_errno . "<br>";
    exit;
}
else {
    $codigop=$_POST['codigop'];
    $nombrep=$_POST['nombrep'];
    $valorp=$_POST['valorp'];

    $sql = "INSERT INTO producto VALUES ('".$codigop."', '".$nombrep."','".$valorp."')";
    $mysqli->query($sql);
    echo "Los datos fueron ingresados correctamente <br> <br>";

}
$mysqli->close();
?>

    
asked by Julian Gil 20.06.2018 в 19:33
source

1 answer

1

try to collect the value of your inputs before everything, try to do so

  <?php

    $codigop=$_POST['codigop'];
    $nombrep=$_POST['nombrep'];
    $valorp=$_POST['valorp'];

    $mysqli = new mysqli('127.0.0.1', 'root','','almacen');

    if($mysqli->connect_errno){
        echo"Lo sentimos, este sitio web esta experimentando problemas <br>";
        echo"ERROR: Fallo al conectarse a MySQL debido a:<br>";
        echo "Errno:  ". $mysqli->connect_errno . "<br>";
        exit;
    }
    else {
       //este codigo es una pesima practica y vulnerable a ataques sql
        $sql = "INSERT INTO producto VALUES ('".$codigop."', '".$nombrep."','".$valorp."')";
 //intenta hacer un insert con sus correspondientes campos

 $sql = "INSERT INTO producto (campo1,campo2,campo3) VALUES ('".$codigop."', '".$nombrep."','".$valorp."')";
        $mysqli->query($sql);
        echo "Los datos fueron ingresados correctamente <br> <br>";

    }
    $mysqli->close();
    ?>
    
answered by 20.06.2018 в 19:57