Probleme avec insert into

Fermé
Snoofy - 7 juil. 2011 à 12:15
 Snoofy - 7 juil. 2011 à 14:57
Bonjour,

Dans le cadre d'un stage :
J'ai créer une base de donnée de produit de stockage sous phpMyadmin,

Et je suis en train de créer le code php html sous joomla(CMS) qui me permet de l'exploiter, pour ensuite l'envoyer sur le net.

Cependant je débute dans ce domaine et j ai deux petits problèmes que je n'arrive pas à résoudre, et je ne sais vraiment pas pourquoi ca ne fonctionne pas.

Le premier : je propose à l'utilisateur de créer un nouveau produit que j'insère dans ma base de donnée, tout mes champs et toutes mes valeurs passe correctement sauf une. le champ Purete et donc sa valeur avec.

Le deuxième : si L'utilisateur rentre un produit déja connu de la base de donnée, mon code lui demande si il veut continuer la création malgré une réference identique.

si non retour sur la page de recherche produit
si oui insertion du produit et de ces informations dans la base... et c 'est la que sa coince j'obtient cette erreur :

Vous ne pouvez pas visiter cette page car :
1.bookmark/favoris périmé
2.Un moteur de recherche possède un listing périmé pour ce site
3.une adresse erronée
4.vous n'avez pas accès à cette page
5.La ressource demandée n'a pas été trouvée
6.Une erreur est survenue pendant l'exécution de la requête.

Veuillez essayer l'une des pages suivantes :


*Page d'accueil



Et voici mon code :



$ref = $_POST['Reference'];
$syn = $_POST['Synonyme'];
$local = $_POST['Localisation'];
$cas = $_POST['NumCAS'];
$temp = $_POST['Temp'];
$cond = $_POST['Condition'];
$pur = $_POST['Purete']; // cette valeur ne passe pas
$px = $_POST['Prix'];
$cmr = $_POST['CMR'];
$cmr = $_POST['Nature'];
$stock = $_POST['Stock'];

{if (!empty ($ref))
if (empty ($value))
{ $value = "'$ref'";
$into = "'Ref_Fournisseur'";
}
else
{ $value = $value;
$into = $into;
}
if (!empty ($syn))
if (empty ($value))
{ $value = "'$syn'";
$into ="'Nom_Produit_Synonyme'";
}
else
{ $value .= ", '$syn'";
$into .= ", 'Nom_Produit_Synonyme'";
}
if (!empty ($local))
if (empty ($value))
{ $value = "'$local'";
$into ="'Localisation'";
}
else
{ $value .= ", '$local'";
$into .= ", 'Localisation'";
}
if (!empty ($cas))
if (empty ($value))
{ $value = "'$cas'";
$into ="'NumCAS'";
}
else
{ $value .= ", '$cas'";
$into .= ", 'NumCAS'";
}
if (!empty ($temp))
if (empty ($value))
{ $value = "'$temp'";
$into ="'T_de_Stockage'";
}
else
{ $value .= ", '$temp'";
$into .= ", 'T_de_Stockage'";
}
if (!empty ($cond))
if (empty ($value))
{ $value = "'$cond'";
$into = "'Conditionnement'";
}
else
{ $value .= ", '$cond'";
$into .= ", 'Conditionnement'";
}
if (!empty ($pur))
if (empty ($value))
{ $value = "'$pur'";
$into = "'Purete'"; // ne fonctionne pas
}
else
{ $value .= ", '$pur'";
$into .= ", 'Purete'";
}
if (!empty ($px))
if (empty ($value))
{ $value = "'$px'";
$into ="'Prix'";
}
else
{ $value .= ", '$px'";
$into .= ", 'Prix'";
}
if (!empty ($cmr))
if (empty ($value))
{ $value = "'$cmr'";
$into = "'Classement_CMR' ";
}
else
{ $value .= ", '$cmr'";
$into .= ", 'Classement_CMR'";
}
if (!empty ($Nature))
if (empty ($value))
{ $value = "'$Nature'";
$into = "'Nature_Produit' ";
}
else
{ $value .= ", '$Nature'";
$into .= ", 'Nature_Produit'";
}
if (!empty ($stock))
if (empty ($val))
{ $val = "'$stock'";
$int = "'Stock' ";
}
else
{ $val .= ", '$stock'";
$int .= ", 'Stock'";
} }



$sql= "SELECT * FROM P_Produit Where Ref_Fournisseur = '$ref'";
$resultat = mysql_query($sql) or die('<br>Erreur SQL !<br>' . $sql . '<br>' . mysql_error());
$num = mysql_num_rows($resultat);
$txt.=$num;
$txt.= "<br> sql : ".$sql."<br>";



if($num==0 && !empty($ref))

{
$sql = "INSERT INTO 'P_Produit' ($into) VALUES ($value)";
$sql2 = "INSERT INTO 'P_Stock' ($int) VALUES ($val)";
$txt.= "<br> sql : ".$sql."<br>";
$txt.= "<br> sql : ".$sql2."<br>";
$resultat = mysql_query($sql) or die('<br>Erreur SQL !<br>' . $sql . '<br>' . mysql_error());
$resultat2 = mysql_query($sql2) or die('<br>Erreur SQL !<br>' . $sql . '<br>' . mysql_error());
$value="";
$into="";
}
$var = "option=".$_REQUEST['option']."&view=".$_REQUEST['view']."&Itemid=".$_REQUEST['Itemid'];
$txt.='<form name="Href" method="POST">';

if ($num>0 && !empty($ref) && $_POST['action']=="")
{
$_POST['action']='finish';
$txt.="le produit que vous voulez insérer existe deja, Voulez-vous continuez sa creation?";
$txt.= '<input type="radio" name="option" value="OUI"/>OUI
<input type="radio" name="option" value="NON"/>NON ';

$txt.= '<br>'.'<INPUT type="submit" name="submit" value="Valider"></INPUT><br>';

}
$txt.='</form>';


if($_POST['option']=='OUI')
{
$sql = "INSERT INTO 'P_Produit' ($into) VALUES ($value)";
$sql2 = "INSERT INTO 'P_Stock' ($int) VALUES ($val)";

$resultat = mysql_query($sql) or die('<br>Erreur SQL !<br>' . $sql . '<br>' . mysql_error());
$resultat2 = mysql_query($sql2) or die('<br>Erreur SQL !<br>' . $sql2 . '<br>' . mysql_error());
}


$txt .= "mon formulaire";

return $txt ;

}



Je pense qu il y à d autre problème que ceux que j ai énoncé ou des lignes de code inutile mais je débute donc si vous pouvez être indulgent et me donner des solutions. Merci d'avance.

3 réponses

Bonjour

Commence par un print_r($_POST); au début de ton script pour voir si tu reçois bien un champ appele Purete (et pas Pureté ni purete)
Fais aussi un echo $sql pour voir quelle requête tu envoies à mysql

Remarque : ton code avec se if à la queue-leu_leu est complètement illisisble. Utilise au moins les balises < code> et < /code> (le bouton <> au-dessus de la fenêtre de rédaction des messages)
0
Reivax962 Messages postés 3671 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011
7 juil. 2011 à 14:06
Bonjour,

Ton code ne te renvoie aucune erreur mysql lors de l'exécution de la requête avec pureté ?
Que donne l'affichage de la requête SQL ?

Sinon, ça n'a rien à voir avec $pur, mais ceci n'est sans doute pas normal :

$cmr = $_POST['CMR'];
$cmr = $_POST['Nature'];

Pour ta deuxième question, je ne connais pas Joomla mais le descriptif de l'erreur me semble correspondre à une Erreur 404 : c'est-à-dire qu'un lien ou un formulaire de ton site renvoie vers une page qui n'existe pas.

Xavier
0
Merci a vous pour vos reponses,

Pour le code, j ai pas reussi à l'indenter correctement sur ce site pour que ce soit plus facilement lisible.

Sinon vous aviez raison j' avais une erreur de syntaxe banal qui m'est passer sous le nez plusieur fois, maintenant la requête fonctionne correctement, merci.

Et pour le type d erreur, cela correspond bien a une erreur 404 mais je ne vois pas pourquoi cette fois ci ca ne fonctione pas comme dans mes autres pages.

j ai essayé comme ca :

$var = "option=".$_REQUEST['option']."&view=".$_REQUEST['view']."&Itemid=".$_REQUEST['Itemid'];
		
$txt.='<form action="?'.$var.'" name="Href" method="POST">';
		
if ($num>0 && !empty($ref) && $_POST['action']=="")
	{
	$_POST['action']='finish';
	$txt.="le produit que vous voulez ins&eacuterer existe deja, Voulez-vous continuez sa cr&eacuteation?";
	$txt.= '<INPUT type="radio" name="option" value="OUI"/>OUI             		           <INPUT type="radio" name="option" value="NON"/>NON ';
			
               $txt.= '<br>'.'<INPUT type="submit" name="submit" value="Valider"></INPUT><br>';

	}
$txt.='</form>';
0