Bonjour Je rencontre des problèmes avec mon premier projet php que je fais pour enseigner moi-même un peu it.So je l'ai fait une forme est le code ici:insert PHP sous forme MYSQL
vpis.html
<html>
<head>
<title>Php-Web Page - Input</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<div id="glava">
<center>Php Spletna Stran</center>
<hr/>
</div>
<div id="menu">
<center>
<a href="index.php">NAZAJ</a>
<a href="bris.html">BRISANJE</a>
</center>
<hr/>
</div>
<div id ="vsebina">
<div div="vpisigr">
<form action="insert.php" method="post">
Vpisovanje igralca<br/>
ID:<input type="text" name="pid" size="20"/><br/>
Ime:<input type="text" name="pime" size="20"/><br/>
Priimek:<input type="text" name="ppriimek" size="20"/><br/>
Starost:<input type="text" name="pstarost" size="20"/><br/>
Velikost:<input type="text" name="pvelikost" size="20"/><br/>
Polozaj:<input type="text" name="ppolozaj" size="20"/><br/>
ID Kluba:<input type="text" name="ppid" size="20"/><br/>
<input type="submit" value="Shrani"/>
<input type="reset" value="Reset"/>
</form>
</div>
</div>
<hr/>
<div id="footer">
<center>Vse pravice pridržane </center>
</div>
</body>
<html>
Donc, ici, je demande à l'utilisateur d'entrer toutes les données à insérer dans la base de données. Voici screenshoot base de données:
et voici insert.php qui est appelé action sous forme
<?php
header("Content-type: text/html; charset=utf-8");
$con = mysql_connect("localhost","username","pass");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("php", $con);
//hmmmm ne dela
$sql="INSERT INTO Igralec (iID, iIME, iPRIIMEK, iSTAROST, iVELIKOST, iPOLOZAJ, ID)
VALUES ('$_POST[pid]', '$_POST[pime]', '$_POST[ppriimek]', '$_POST[pstarost]', '$_POST[pvelikost]', '$_POST[ppolozaj]', '$_POST[ppid]')";
if (!mysql_query($sql,$con))
{
die('Error: ' . mysql_error());
}
//die(print_r($_POST));
echo "Dodana je ena nova vrstica";
mysql_close($con);
?>
Le problème est thath temps evry i soumettre des données, il écrit des données fausses dans la base de données tous dans le format 0--0-0-00 ou simmilar à thath. Mais dans le tableau avant est écrit il contient des données correctes mais en quelque sorte il écrit dans les données fausses de la base de données.
Il y a beaucoup de possibilités d'injection SQL dans votre code. Vous devriez échapper à vos paramètres. Si vous écrivez $ sql, qu'est-ce que cela montre? – Sam
Bien sûr je crois qu'il y a beaucoup de possibilités mais j'ai besoin de ceci seulement pour des buts d'étude, ferons sur la sécurité plus tard :) – HyperX
Si vous échoez $ sql, qu'est-ce que cela montre? Je pense que vous devrez peut-être entourer vos params dans {accolades} si vous les incorporez dans la déclaration comme ça. – Sam