Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING
dproduction
Messages postés
39
Date d'inscription
Statut
Membre
Dernière intervention
-
Utilisateur anonyme -
Utilisateur anonyme -
bonsoir mes amis. j'ai eu a poster un problème de programmation php ici, et j'ai eu des réponses . merci. maintenant ce programme génére des erreurs. j'ai ce message. j'ai besoin d'un coup de main. merci d'avance
Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in C:\wamp\www\moteur de recherche\recherche.php on line 73
voici le code
Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in C:\wamp\www\moteur de recherche\recherche.php on line 73
voici le code
<?php //Affichage des erreurs php error_reporting(E_ALL); ini_set('display_errors', TRUE); ini_set('display_startup_errors', TRUE); //connexion a la base de donnée require_once "includes/connect_db.php"; //intialisation de la variable contenant les resultats $resultats = ""; $query = !empty($_POST['query']) ? preg_replace("#[^#a-zA-Z ?0-9]#i", "", $_POST["query"]) : NULL; $filtre = !empty($_POST["filtre"]) ? $_POST["filtre"] : NULL; //traitement de la requette if($query){ switch($filtre){ case "site entier" : // a faire plustard $sql = ""; break; case "ecoles_maternelles" : $sql = "SELECT id, pageecomater_nom AS nom FROM ecoles_maternelles WHERE pageecomater_nom LIKE ? OR pageecomater_contenance LIKE ?"; break; case "ecoles_primaires" : $sql = "SELECT id, pageecoprim_nom AS nom FROM ecoles_primaires WHERE pageecoprim_nom LIKE ? OR pageecoprim_contenance LIKE ?"; break; default: $sql =""; break; } $datas = array("%".$query."%", "%".$query."%"); try{ $req = $db->prepare($sql); $req ->execute($datas); $result = $req->fetchAll(FECTH_OBJ); }catch(Exception $e){ // en cas d'erreur : echo " Erreur ! ".$e->getMessage(); } } ?> <!DOCTYPE html> <html> <head> <title> mini moteur de recherche</title> <charset="utf8"> </head> <body> <div id="zonefiltres"> <p> <form action ="" method='POST'> <label for="query">entrer votre recherche: </label> <input type= "text" name="query" maxlength="80" size="80" id="query" value="<?php echo $query; ?>"/><br> <label for="filtre">recherche au niveau de:</label> <select name="filtre" id="filtre"> <option value="site entier" <?php echo $filtre == "site entier" ? " selected='selected' ": ""; ?> >site entier</option> <option value="ecole_maternelle" <?php echo $filtre == "ecole_maternelle" ? " selected='selected' ": ""; ?> >ecole_maternelle</option> <option value="ecole_primaire" <?php echo $filtre == "ecole_primaire" ? " selected='selected' ": ""; ?>>ecole_primaire</option> </select> <br> <input type="submit" value="Recherche"> </form> </p> </div> <div id="resultats"> <?php $count = !empty($result) ? count($result) : 0; $strResult = $count>1 " résultats trouvés " : " résultat trouvé "; echo $count ."".$strResult ."pour <strong>".htmlspecialchars($query)."</strong><hr/>"; if(!empty($count) { foreach($result as $R){ echo '#'.$R->id.' - Titre: '.$R->nom; '<br/>'; } } ?> </div> </body> </html>
A voir également:
- Parse error: syntax error, unexpected t_constant_encapsed_string
- Cmos checksum error ✓ - Forum Carte-mère/mémoire
- Playback error reconnect in 3s (1/5) francais - Forum Box et Streaming vidéo
- Error 1962 ✓ - Forum PC fixe
- A javascript error occurred in the main process - Forum Matériel & Système
- Whea error occt - Forum Processeur
2 réponses
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
bonsoir, ceci semble incorrect:
echo '#'.$R->id.' - Titre: '.$R->nom; '<br/>';peut-être un point au lieu du premier point-virgule?
Bonsoir
Il y a aussi une erreur sur une des lignes précédentes :
Il manque un ? pour l'opérateur ternaire. J'ajoute des () car je ne suis jamais sûr des priorités :
Il y a aussi une erreur sur une des lignes précédentes :
$strResult = $count>1 " résultats trouvés " : " résultat trouvé ";
Il manque un ? pour l'opérateur ternaire. J'ajoute des () car je ne suis jamais sûr des priorités :
$strResult = ($count>1) ? " résultats trouvés " : " résultat trouvé ";
merci bien le père. on direct ça a fonctionné. j'ai encore une nouvelle erreur
celle ci Erreur ! SQLSTATE[42000]: Syntax error or access violation: 1065 Query was empty
voici le code tout en entier
celle ci Erreur ! SQLSTATE[42000]: Syntax error or access violation: 1065 Query was empty
voici le code tout en entier
<?php //Affichage des erreurs php error_reporting(E_ALL); ini_set('display_errors', TRUE); ini_set('display_startup_errors', TRUE); //connexion a la base de donnée require_once "includes/connect_db.php"; //intialisation de la variable contenant les resultats $resultats = ""; $query = !empty($_POST['query']) ? preg_replace("#[^a-zA-Z ?0-9]#i", "", $_POST["query"]) : NULL; $filtre = !empty($_POST["filtre"]) ? $_POST["filtre"] : NULL; //traitement de la requette if($query){ switch($filtre){ case "site entier" : // a faire plustard $sql = ""; break; case "ecoles_maternelles" : $sql = "SELECT id, pageecomater_nom AS nom FROM ecoles_maternelles WHERE pageecomater_nom LIKE ? OR pageecomater_contenance LIKE ?"; break; case "ecoles_primaires" : $sql = "SELECT id, pageecoprim_nom AS nom FROM ecoles_primaires WHERE pageecoprim_nom LIKE ? OR pageecoprim_contenance LIKE ?"; break; default: $sql =""; break; } $datas = array("%".$query."%", "%".$query."%"); try{ $req = $db->prepare($sql); $req ->execute($datas); $result = $req->fetchAll(FECTH_OBJ); }catch(Exception $e){ // en cas d'erreur : echo " Erreur ! ".$e->getMessage(); } } ?> <!DOCTYPE html> <html> <head> <title> mini moteur de recherche</title> <charset="utf8"> </head> <body> <div id="zonefiltres"> <p> <form action ="" method='POST'> <label for="query">entrer votre recherche: </label> <input type= "text" name="query" maxlength="80" size="80" id="query" value="<?php echo $query; ?>"/><br> <label for="filtre">recherche au niveau de:</label> <select name="filtre" id="filtre"> <option value="site entier" <?php echo $filtre == "site entier" ? " selected='selected' ": ""; ?> >site entier</option> <option value="ecole_maternelle" <?php echo $filtre == "ecole_maternelle" ? " selected='selected' ": ""; ?> >ecole_maternelle</option> <option value="ecole_primaire" <?php echo $filtre == "ecole_primaire" ? " selected='selected' ": ""; ?>>ecole_primaire</option> </select> <br> <input type="submit" value="Recherche"> </form> </p> </div> <div id="resultats"> <?php $count = !empty($result) ? count($result) : 0; $strResult = ($count>1) ? " résultats trouvés " : " résultat trouvé "; echo $count ."".$strResult ."pour <strong>".htmlspecialchars($query)."</strong><hr/>"; if(!empty($count) ){ foreach($result as $R){ echo '#'.$R->id.' - Titre: '.$R->nom; '<br/>'; } } ?> </div> </body> </html>
S'il te dit que la requête est vide, c'est que la requête est vide.
Si la requête est vide, c'est que $filtre ne satisfait aucun des cas de ton switch. $filtre n'est pas égal à ecoles_maternelles ni à ecoles_primaires. Tu n'as qu'à afficher sa valeur pour le vérifier.
Quand on voit que $filtre vient du champ "filtre" de ton formulaire, on vérifie quelles valeurs il y a dans ton formulaire et là ça saute aux yeux.
Si la requête est vide, c'est que $filtre ne satisfait aucun des cas de ton switch. $filtre n'est pas égal à ecoles_maternelles ni à ecoles_primaires. Tu n'as qu'à afficher sa valeur pour le vérifier.
Quand on voit que $filtre vient du champ "filtre" de ton formulaire, on vérifie quelles valeurs il y a dans ton formulaire et là ça saute aux yeux.
ça marche pas
j'obtient toujours le mémé message d'erreur
Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING