Bonjour,

Je débutes en objet et par la même occasion avec PDO en clair j'essaye de passer a un niveau supérieur.

Je suis donc sur un système de news et j'ai
- Une classe news.
- Et 3 fonctions dans cette classe déclarées en public bien sur.

Code de ma classe

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
 
<?php
class news {	
/*---------------------------------------------INSERTION---------------------------------------------------------*/
	public function InsertNews($titreNews, $contenueNews, $auteurNews, $dateNews, $imageNews){
		//Déclaration		
		$err_cpt = 0;
		$err_titre = FALSE;
		$err_contenue = FALSE;
		$err_auteur = FALSE;		
		$err_image = FALSE;
 
		//Gestion des erreur
		if(empty($titreNews))   $err_titre = TRUE;  $err_cpt++;
		if(empty($contenueNews))	$err_contenue = TRUE;	$err_cpt++;
		if(empty($auteurNews))	$err_auteur = TRUE;	 $err_cpt++;		
		if(empty($imageNews))	$err_image = TRUE; 	$err_cpt++;
 
		//Si err_cpt = 0 on Insère sinon on listes les erreurs
		if($err_cpt == 4){
			//Requête					
          $bdd = new PDO('mysql:host=localhost;port=3306;dbname=blog', 'root', ''); //Connection			
			$requete =  $bdd -> prepare ('INSERT INTO news (titre, contenue, auteur, date, image) 
										  VALUES(:titre, :contenue, :auteur, :date, :image)');	
 
			$req = exec(array(
						'titre' => $titreNews,
						'contenue' => $contenueNews,
						'auteur' => $auteurNews,
						'date' => $dateNews,
						'image' => $imageNews 					
						));
 
			echo ("News insérée corectement.");
		}
		else{
			//Erreur
			echo "Insertion impossible ".$err_cpt;
			if($err_titre == TRUE)	echo("Vous n'avez pas précisé de tître.");
			if($err_contenue == TRUE)	echo("Votre news n'a pas de contenue.");
			if($err_auteur == TRUE)	echo("Vous n'avez sélectionné aucun auteur.");			
			if($err_image == TRUE)	echo("Votre news n'a pas d'image.");
		}
	}
 
/*---------------------------------------------MODIFICATION---------------------------------------------------------*/
	public function updateNews($choixNews){
 
	}
/*---------------------------------------------SUPPRESSION---------------------------------------------------------*/	
	public function deleteNews($choixNews){
 
	}
}
 
 
?>

Code de mon formulaire:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
<form method="post" action="news-insertion-valid.php">
	Tître: <input type="text" name="titre" /><br />
    Contenue:<br /> <textarea name="contenue">a</textarea><br />
    Auteur: <input type="text"  name="auteur" /><br />
    Images: <input type="text" name="image" /><br />
    <input type="submit" value="Poster la news" />
</form>

Code de l'appel de ma classe (en clair la validation de mon formulaire)

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
<?php   
require("../../class/news.class.php");
$news = new news();
$news -> InsertNews($_POST['titre'], $_POST['contenue'], $_POST['auteur'], "00/00/0000", $_POST['image']);
?>

Voilà maintenant, mon soucis.
Donc en clair j'initialise un compteur $err_cpt a 0 ainsi que mes variable
err_tire, contenu etc a FALSE.

Ensuite je teste que les champs sont bien renseignés donc si $titreNews est vide (champ titre de mon formulaire vu que j'envois le contenu de $_POST['titre'] a ma fonction) n'est pas renseigné je la met a TRUE et j'incrémente mon compteur.

Ensuite si mon compteur $err_cpt == 0 alors tous les champs sont renseigné, on est content et on insère dans la base sinon on affiche une erreur et le nombre d'erreur.

Maintenant passons au problème ma structure de test if considère que err_cpt est TOUJOURS égal à 4 sans qu'aucun J'ai donc toujours mon message insertion impossible 4

De plus ce passage

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
<?php
if($err_titre == TRUE)	echo(Vous n'avez pas précisé de tître.);
			if($err_contenue == TRUE)	echo(Votre news n'a pas de contenue.);
			if($err_auteur == TRUE)	echo(Vous n'avez sélectionné aucun auteur.);			
			if($err_image == TRUE)	echo(Votre news n'a pas d'image.);

?>
N'est absolument pas interprété.A
lors pour le premier problème $err_cpt toujours égal a 4 je vois une énorme erreur de logique (passage du procédural à l'objet surement) en revanche pour le fait qu'une portion du code n'est pas interprété la je vois pas du tout.

En espérant tomber sur un virtuose de la programmation objet et php, je vous remercie.