Je me heurte maintenant à une série de bugs que je n’arrive pas à résoudre seul.
J’ai lancé un appel général sur ce post :
http://www.phpfrance.com/forums/voir_sujet-34548.php
– Mais peut-être qu’on peut m’aider sur un problème particulier que je rencontre là.
Dans un premier temps, je rentre les plantes dans un formulaire. Puis ensuite, je rentre les espèces qui doivent être liées aux plantes.
Premier bug que j’ai rencontré, l’espère allant avec la plante 10 se mettait sur la plante 1 – Pareil pour 20, 30 etc.. sur les plantes 2, 3 etc…
J’ai réussi à forcer le 0 dans la base de données directement et encore, ça n’a pas été facile car le 0 du pavé numérique du clavier ne passait pas.
Maintenant j’arrive à l’espèce qui doit se lier à la plante 101 et là rien à faire – Ca se colle sur la plante 1 et je ne peux rien y faire.
Codes :
Page fonctions.php :
<?
function protec($donnees) {
return (get_magic_quotes_gpc())?strip_tags(trim($donnees), "<span>, <a>"):addslashes(strip_tags(trim($donnees), "<span>, <a>"));
}
function de_form($valeur){
return (get_magic_quotes_gpc())?stripslahes(trim($valeur)):trim($valeur);
}
?>
Page ajouter plante.php
<?
require("../includes/conf.php");
require("../includes/connexion.php");
require("../includes/fonctions.php");
if(isset($_POST['ajout']))
{
if($_POST['ajout']== 'plante')
{
$id_categorie= remplace(protec($_POST['id_categorie']));
$nom = remplace(protec($_POST['nom']));
$nc = remplace(protec($_POST['nc']));
$famille = remplace(protec($_POST['famille']));
$origine = remplace(protec($_POST['origine']));
$description = remplace(protec($_POST['description']));
$floraison = remplace(protec($_POST['floraison']));
$croissance = remplace(protec($_POST['croissance']));
$utilisation = remplace(protec($_POST['utilisation']));
$emplacement = remplace(protec($_POST['emplacement']));
$entretien = remplace(protec($_POST['entretien']));
$temperature = remplace(protec($_POST['temperature']));
$arrosage = remplace(protec($_POST['arrosage']));
$engrais = remplace(protec($_POST['engrais']));
$rempotage = remplace(protec($_POST['rempotage']));
$maladies = remplace(protec($_POST['maladies']));
$parasites = remplace(protec($_POST['parasites']));
$multiplication = remplace(protec($_POST['multiplication']));
$conseils = remplace(protec($_POST['conseils']));
$req_up_plante = mysql_query("INSERT INTO plantes (id_plante, nom, id_categorie, nc, famille, origine, description, floraison, croissance, utilisation, emplacement, entretien, temperature, arrosage, engrais,rempotage, maladies, parasites, multiplication, conseils) VALUES ('','".$nom."', '".$id_categorie."', '".$nc."','".$famille."','".$origine."','".$description."','".$floraison."','".$croissance."','".$utilisation."','".$emplacement."','".$entretien."','".$temperature."','".$arrosage."','".$engrais."','".$rempotage."','".$maladies."','".$parasites."','".$multiplication."','".$conseils."' ) ");
if($req_up_plante)
$mess = "valeurs enregistrées";
}
elseif($_POST['ajout']== 'espece')
{
$id_plante = remplace(protec($_POST['id_plante']));
$nom = remplace(protec($_POST['nom']));
$photo = remplace(protec($_POST['photo']));
$description = remplace(protec($_POST['description']));
$req_up_espece = mysql_query("INSERT INTO especes (id_espece, nom, id_plante, photo, description) VALUES ('', '".$nom."', '".$id_plante."', '".$photo."', '".$description."') ");
if($req_up_espece)
$mess = "valeurs enregistrées";
}
}
if(isset($_GET['plante']))
{
$req_categories = mysql_query("SELECT * FROM familles ");
}
elseif(isset($_GET['espece']))
{
$req_plantes = mysql_query("SELECT nom,id_plante FROM plantes ");
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<title>page index</title>
<meta name="keywords" content="mots clefs" />
<meta name="description" content="description" />
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-15" />
<link rel="stylesheet" type="text/css" href="design_prive.css" media="screen" />
<script type="text/javascript">
<!--
function insertion(repdeb, repfin, textarea) {
var input = document.forms['formulaire'].elements[textarea];
input.focus();
/* pour l'Explorer Internet */
if(typeof document.selection != 'undefined') {
/* Insertion du code de formatage */
var range = document.selection.createRange();
var insText = range.text;
range.text = repdeb + insText + repfin;
/* Ajustement de la position du curseur */
range = document.selection.createRange();
if (insText.length == 0) {
range.move('character', -repfin.length);
} else {
range.moveStart('character', repdeb.length + insText.length + repfin.length);
}
range.select();
}
/* pour navigateurs plus récents basés sur Gecko */
else if(typeof input.selectionStart != 'undefined')
{
/* Insertion du code de formatage */
var start = input.selectionStart;
var end = input.selectionEnd;
var insText = input.value.substring(start, end);
input.value = input.value.substr(0, start) + repdeb + insText + repfin + input.value.substr(end);
/* Ajustement de la position du curseur */
var pos;
if (insText.length == 0) {
pos = start + repdeb.length;
} else {
pos = start + repdeb.length + insText.length + repfin.length;
}
input.selectionStart = pos;
input.selectionEnd = pos;
}
/* pour les autres navigateurs */
else
{
/* requête de la position d'insertion */
var pos;
var re = new RegExp('^[0-9]{0,3}$');
while(!re.test(pos)) {
pos = prompt("Insertion à la position (0.." + input.value.length + "):", "0");
}
if(pos > input.value.length) {
pos = input.value.length;
}
/* Insertion du code de formatage */
var insText = prompt("Veuillez entrer le texte à formater:");
input.value = input.value.substr(0, pos) + repdeb + insText + repfin + input.value.substr(pos);
}
}
//-->
</script>
</head>
<body>
<div id="menu">
<ul>
<li><a href="index.php">index administration</a> |</li>
<li><a href="modifier.php">modifier</a></li>
</ul>
</div>
<?
if (isset($mess))
echo "<p>".$mess."</p>";
elseif(isset($_GET['plante']))
{
?>
<div id="form_modif">
<h1>ajout d'une plante -- complétez le formulaire puis validez</h1>
<p class="boutons"><a href="#" name="replace" onClick="insertion('[gras]', '[/gras]', getVar); return false;" ><img src="../images/design/bouton_g.jpg" alt="gras" title="gras" /></a><br /><a href="#" onClick="insertion('[italic]', '[/italic]', getVar); return false;"><img src="../images/design/bouton_i.jpg" alt="italic" title="italic" /></a><br /><a href="#" onClick="insertion('[souligne]', '[/souligne]', getVar); return false;"><img src="../images/design/bouton_s.jpg" alt="souligné" title="souligné" /></a><br /><a href="#" onClick="insertion('[lien]', '[/lien]', getVar); return false;"><img src="../images/design/bouton_a.jpg" alt="lien" title="lien" /></a>
<br /><a href="#" onClick="insertion('[image]', '[/image]', getVar); return false;"><img src="../images/design/bouton_img.jpg" alt="image" title="image" /></a>
</p>
<form name="formulaire" method="post" action="ajouter.php" >
<div id="partie_gauche">
<p>selectionner une catégorie:</p>
<select name="id_categorie">
<?
while($categories = mysql_fetch_assoc($req_categories))
{
echo '<option value="'.$categories['id'].'">'.$categories['nom'].'</option>';
}
?>
</select>
<p>nom:</p>
<input type="texte" name="nom" value="" />
<p>nom commun:</p>
<input type="texte" name="nc" value="" />
<p>famille:</p>
<input type="texte" name="famille" value="" />
<p>origine:</p>
<textarea name="origine" onfocus="getVar='origine';"></textarea>
<p>description:</p>
<textarea name="description" onfocus="getVar='description';"></textarea>
<p>floraison</p>
<textarea name="floraison" onfocus="getVar='floraison';"></textarea>
<p>croissance</p>
<textarea name="croissance" onfocus="getVar='croissance';"></textarea>
<p>utilisation</p>
<textarea name="utilisation" onfocus="getVar='utilisation';"></textarea>
<p>emplacement</p>
<textarea name="emplacement" onfocus="getVar='emplacement';"></textarea>
<p>entretien</p>
<textarea name="entretien" onfocus="getVar='entretien';"></textarea>
</div>
<div id="partie_droite">
<input type="submit" value="valider" />
<p>temperature</p>
<textarea name="temperature" onfocus="getVar='temperature';"></textarea>
<p>arrosage</p>
<textarea name="arrosage" onfocus="getVar='arrosage';"></textarea>
<p>engrais</p>
<textarea name="engrais" onfocus="getVar='engrais';"></textarea>
<p>rempotage</p>
<textarea name="rempotage" onfocus="getVar='rempotage';"></textarea>
<p>maladies et erreurs de culture</p>
<textarea name="maladies" onfocus="getVar='maladies';"></textarea>
<p>parasites</p>
<textarea name="parasites" onfocus="getVar='parasites';"></textarea>
<p>multiplication</p>
<textarea name="multiplication" onfocus="getVar='multiplication';"></textarea>
<p>conseils</p>
<textarea name="conseils" onfocus="getVar='conseils';"></textarea>
<input type="hidden" name="ajout" value="plante" />
<input type="submit" value="valider" />
</div>
</form>
</div>
<?
}
elseif(isset($_GET['espece']))
{
?>
<div id="form_modif">
<h1>ajouter les infos puis valider</h1>
<form method="post" action="ajouter.php" name="formulaire">
<p>selectionner une plante:</p>
<p class="boutons"><a href="#" name="replace" onClick="insertion('[gras]', '[/gras]', getVar); return false;" ><img src="../images/design/bouton_g.jpg" alt="gras" title="gras" /></a><br /><a href="#" onClick="insertion('[italic]', '[/italic]', getVar); return false;"><img src="../images/design/bouton_i.jpg" alt="italic" title="italic" /></a><br /><a href="#" onClick="insertion('[souligne]', '[/souligne]', getVar); return false;"><img src="../images/design/bouton_s.jpg" alt="souligné" title="souligné" /></a><br /><a href="#" onClick="insertion('[lien]', '[/lien]', getVar); return false;"><img src="../images/design/bouton_a.jpg" alt="lien" title="lien" /></a><br /><a href="#" onClick="insertion('[image]', '[/image]', getVar); return false;"><img src="../images/design/bouton_img.jpg" alt="image" title="image" /></a></p>
<select name="id_plante">
<?
while($plante = mysql_fetch_assoc($req_plantes))
{
echo '<option value="'.$plante['id_plante'].'">'.$plante['nom'].'</option>';
}
?>
</select>
<p>nom:</p>
<input type="texte" name="nom" value="" />
<p>nom photo:</p>
<input type="texte" name="photo" value="" />
<p>description:</p>
<textarea name="description" onfocus="getVar='description';"></textarea>
<input type="hidden" name="ajout" value="espece" /><br />
<input type="submit" value="valider" />
</form>
<?
}
?>
Est-ce que dans ce code, quelque chose pourrait expliquer mon problème ? Merci