Problème php

Fermé
sajodia Messages postés 38 Date d'inscription mercredi 5 mars 2008 Statut Membre Dernière intervention 20 novembre 2010 - 28 nov. 2008 à 10:50
sajodia Messages postés 38 Date d'inscription mercredi 5 mars 2008 Statut Membre Dernière intervention 20 novembre 2010 - 28 nov. 2008 à 14:05
Bonjour,
voici le programme que j'ai fait,quand je rentre des valeur dans le formulaire ,il ne sont pas insérées:

<?php
$titre="Nouveau client";
include_once("entete.php");
?>

<div id="corps">

<?php
//sauvegarde de la date au format Mysql
$date=date('Y-m-d');
echo $date.'<br/>';


$NOM_CLIENT= isset($_POST['NOM_CLIENT']) ? $_POST['NOM_CLIENT'] : '';
$PRENOM_CLIENT= isset($_POST['PRENOM_CLIENT']) ? $_POST['PRENOM_CLIENT'] : '';
$Noposte_CLIENT= isset($_POST['Noposte_CLIENT']) ? $_POST['Noposte_CLIENT'] : '';
$No_uf_CLIENT= isset($_POST['No_uf_CLIENT']) ? $_POST['No_uf_CLIENT'] : '';
$secteur_CLIENT= isset($_POST['secteur_CLIENT']) ? $_POST['secteur_CLIENT'] : '';
$service_CLIENT= isset($_POST['service_CLIENT']) ? $_POST['service_CLIENT'] : '';
$localisation_CLIENT= isset($_POST['localisation_CLIENT']) ? $_POST['localisation_CLIENT'] : '';


if ($NOM_CLIENT and $PRENOM_CLIENT and $Noposte_CLIENT and $No_uf_CLIENT and $secteur_CLIENT and $service_CLIENT and $localisation_CLIENT)
{
//on verifie que le nouveau client n'existe pas deja

$requete_prepare=$connexion->prepare("select ID_CLIENT from client NOM_CLIENT= ?
and PRENOM_CLIENT= ? and Noposte_CLIENT= ? and No_uf_CLIENT= ? and secteur_CLIENT= ? and service_CLIENT= ? and localisation_CLIENT= ?");
$requete_prepare->execute(array($NOM_CLIENT,$PRENOM_CLIENT,$Noposte_CLIENT,$No_uf_CLIENT,$secteur_CLIENT,$service_CLIENT,$localisation_CLIENT));

$retour=$requete_prepare->rowCount();// Retourne le nombre de lignes affectées par le dernier appel à la fonction PDOStatement::execute()

if ( $retour==0)
{

// insertion du nouveau client

$requete_prepare_1=$connexion->prepare("INSERT INTO client VALUES ('' ,?,?,?,?,?,?,?)");
$requete_prepare_1->execute(array($NOM_CLIENT,$PRENOM_CLIENT,$Noposte_CLIENT,$No_uf_CLIENT,$secteur_CLIENT,$service_CLIENT,$localisation_CLIENT));

echo '<br/>Nouveau client ajouté';
}
else
{
echo 'Client existant';
}

}

else
{

?>
<html>
<body bgcolor=blue>

<h2>Nouveau Client</h2>


<form action="creation_client.php" method="post">

<table>
<tr><td>
<span class="etoile">*</span>NOM_CLIENT :
</td><td>
<input type="text" name="NOM_CLIENT" />
</td></tr>

<tr><td>
PRENOM_CLIENT :
</td><td>
<input type="text" name="PRENOM_CLIENT" />
</td></tr>
<tr><td>
<span class="etoile">*</span>Noposte_CLIENT:
</td><td>
<input type="text" name="Noposte_CLIENT" />
</td></tr>

<tr><td>
No_uf_CLIENT:
</td><td>
<input type="text" name="No_uf_CLIENT" />
</td></tr>
<tr><td>
<span class="etoile">*</span>secteur_CLIENT:
</td><td>
<input type="text" name="secteur_CLIENT" />
</td></tr>
<tr><td>
<span class="etoile">*</span>service_CLIENT :
</td><td>
<input type="text" name="service_CLIENT" />
</td></tr>

<tr><td>
<span class="etoile">*</span>localisation_CLIENT :
</td><td>
<input type="text" name="localisation_CLIENT" />
</td></tr>

<tr><td>
</td><td>
<input type="submit" value="OK"/>
</td></tr>
</table>
Les champs suivant<span class="etoile">*</span> sont obligatoires.
</form>
</html>
</body>


<?php

}

?>

</div>

<?php
include_once("pied_de_page.php");
?>



Fatal error: Call to a member function prepare() on a non-object in C:\wamp\www\tata\creation_client.php on line 29

Merci de m'aider.
A voir également:

2 réponses

Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
28 nov. 2008 à 13:27
Je suppose que tu utilises une class pour faire ça

il faut dans ce cas l'inclure

donc rajoute après <?php

include ("nom_de_la class")"

et bien sur il faut que ce fichier soit sur le serveur


ensuite tu testes if ($NOM_CLIENT and $PRENOM_CLIENT......

ça veut dire si $NOM_CLIENT vaut true ET si $PRENOM_CLIENT vaut true etc..

il vaut mieux tester

if ($NOM_CLIENT!=""  AND $PRENOM_CLIENT !="" .......


si pas vide

ou
if (!empty($NOM_CLIENT)  AND !empty($PRENOM_CLIENT) AND .......
0
sajodia Messages postés 38 Date d'inscription mercredi 5 mars 2008 Statut Membre Dernière intervention 20 novembre 2010 2
28 nov. 2008 à 14:02
je ne comprend pas ce que vous voulez dire,non je n'ai pas utilisé de classe
0
Ou se trouve ta déclaration de $connexion, et l'appel à la méthode prepare();

A mon avis t'as du oublier d'inclure le fichier qui contient la classe.

fais un CC de du code du fichier entete.php et de ta classe.

Pour les tests if ($NOM_CLIENT , ca teste i la valeur est TRUE et non pas "non vide"

A+
0
sajodia Messages postés 38 Date d'inscription mercredi 5 mars 2008 Statut Membre Dernière intervention 20 novembre 2010 2
28 nov. 2008 à 14:00
$connexion se trouve dans mon fichier:configuartion.php et voila ce fichier
<?php
$PARAM_hote='localhost'; // le chemin vers le serveur
$PARAM_port='3306';
$PARAM_nom_bd='dicteenum'; // le nom de votre base de données
$PARAM_utilisateur='root'; // nom d'utilisateur pour se connecter
$PARAM_mot_passe=''; // mot de passe de l'utilisateur pour se connecter
$connexion = new PDO('mysql:host='.$PARAM_hote.' ; port='.$PARAM_port.' ; dbname='.$PARAM_nom_bd , $PARAM_utilisateur , $PARAM_mot_passe);

?>
0
sajodia Messages postés 38 Date d'inscription mercredi 5 mars 2008 Statut Membre Dernière intervention 20 novembre 2010 2
28 nov. 2008 à 14:05
j'ai aussi crée un fichier entete.php:
<?php
//session_start();


?>


<!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><?php echo $titre; ?></title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link rel="stylesheet" media="screen" type="text/css" title="titre du css" href="Design.css" /> </head>
<body>

<?php

include_once("menu.php");
include_once("configuration.php");

?>
0