par
khaavren59 » 09 févr. 2016, 16:46
Bonjour à tous,
je possède un formulaire qui traite une insertion dans une table. J'ai ajouté quelques lignes qui empêchent de rentrer des doublons pour les champs uniques, mais j'aimerais qu'avec mes 2 javascripts, une alerte apparaisse, prévenant l'utilisateur qu'il ne peut pas ajouter sa valeur, et qu'en cliquant, la page se recharge.
voilà mon code, quelqu'un a une idée de pourquoi ça ne marche pas?
<?php
session_start(); // Ouverture de la session pour avoir accès au variable de session.
?><!DOCTYPE html>
<meta charset="utf-8" />
<?php include("../menu.php") ?>
<link rel="stylesheet" type="text/css" href="/DIAISI/style.css">
<?php include("verifadmin.php") ?>
<title>Ajout d'un type de sites</title>
<script type="text/javascript">
function code(){
alert("Vous ne pouvez pas créer ce type de site, il est déjà présent dans la base'");
return;
}
}
</script>
<script type="text/javascript">
function redirectcode(){
document.location.href="http://localhost/DIAISI/admin/newtype.php";
}
</script>
<?php
$bdd = new PDO('mysql:host=localhost;dbname=***', '***', '***');
$bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING);
if(isset($_POST['ajoutertype']))
{
if(!empty($_POST['code_type']) AND !empty($_POST['nom_type']))
$code_type = $_POST['code_type'];
$nom_type = $_POST['nom_type'];
$code_nouveau = "SELECT code_type FROM types_sites WHERE code_type='".$code_type."'";
$resultat = mysqli_query ($code_nouveau);
$nombre_code = mysqli_num_rows($resultat);
if($nombre_code < 1)
{
$inserttypes_sites = $bdd->prepare("INSERT INTO types_sites(code_type, nom_type) VALUES(?, ?)");
$inserttypes_sites->execute(array($code_type, $nom_type));
$inserttypes_sites = $bdd->prepare('mauvaise syntaxe sql');
if (!$inserttypes_sites) {
echo "\nPDO::errorInfo():\n";
print_r($bdd->errorInfo());
}
else{
echo '<script>code();</script>';
echo '<script>redirectcode();</script>';
}
header('Location: recaptypes.php');exit;
}}
?>
<body>
<form id="newtype" method="post" action="newtype.php">
<fieldset>
<legend>
Ajout d'un type de sites
</legend>
<label>Nom de code du type: <input type="text" name="code_type" placeholder="Nom de code" required autofocus/></label><br/>
<label>Nom entier du type: <input type="text" name="nom_type" placeholder="Nom du type" required autofocus/></label><br/>
</fieldset>
<input type="submit" name="ajoutertype" value="ajouter" />
</form>
</body>
</html>
<input type="button" name="retour" value="retour" onclick="self.location.href='gestioninfra.php'" onclick>
Bonjour à tous,
je possède un formulaire qui traite une insertion dans une table. J'ai ajouté quelques lignes qui empêchent de rentrer des doublons pour les champs uniques, mais j'aimerais qu'avec mes 2 javascripts, une alerte apparaisse, prévenant l'utilisateur qu'il ne peut pas ajouter sa valeur, et qu'en cliquant, la page se recharge.
voilà mon code, quelqu'un a une idée de pourquoi ça ne marche pas?
[php]<?php
session_start(); // Ouverture de la session pour avoir accès au variable de session.
?><!DOCTYPE html>
<meta charset="utf-8" />
<?php include("../menu.php") ?>
<link rel="stylesheet" type="text/css" href="/DIAISI/style.css">
<?php include("verifadmin.php") ?>
<title>Ajout d'un type de sites</title>
<script type="text/javascript">
function code(){
alert("Vous ne pouvez pas créer ce type de site, il est déjà présent dans la base'");
return;
}
}
</script>
<script type="text/javascript">
function redirectcode(){
document.location.href="http://localhost/DIAISI/admin/newtype.php";
}
</script>
<?php
$bdd = new PDO('mysql:host=localhost;dbname=***', '***', '***');
$bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING);
if(isset($_POST['ajoutertype']))
{
if(!empty($_POST['code_type']) AND !empty($_POST['nom_type']))
$code_type = $_POST['code_type'];
$nom_type = $_POST['nom_type'];
$code_nouveau = "SELECT code_type FROM types_sites WHERE code_type='".$code_type."'";
$resultat = mysqli_query ($code_nouveau);
$nombre_code = mysqli_num_rows($resultat);
if($nombre_code < 1)
{
$inserttypes_sites = $bdd->prepare("INSERT INTO types_sites(code_type, nom_type) VALUES(?, ?)");
$inserttypes_sites->execute(array($code_type, $nom_type));
$inserttypes_sites = $bdd->prepare('mauvaise syntaxe sql');
if (!$inserttypes_sites) {
echo "\nPDO::errorInfo():\n";
print_r($bdd->errorInfo());
}
else{
echo '<script>code();</script>';
echo '<script>redirectcode();</script>';
}
header('Location: recaptypes.php');exit;
}}
?>
<body>
<form id="newtype" method="post" action="newtype.php">
<fieldset>
<legend>
Ajout d'un type de sites
</legend>
<label>Nom de code du type: <input type="text" name="code_type" placeholder="Nom de code" required autofocus/></label><br/>
<label>Nom entier du type: <input type="text" name="nom_type" placeholder="Nom du type" required autofocus/></label><br/>
</fieldset>
<input type="submit" name="ajoutertype" value="ajouter" />
</form>
</body>
</html>
<input type="button" name="retour" value="retour" onclick="self.location.href='gestioninfra.php'" onclick>[/php]