Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in C:\wamp\www

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in C:\wamp\www

par caroube » 12 mai 2008, 10:51

Super!!

Merci beaucoup ça marche :D , merci pour vos conseils , sans vous je n'y serai jamais arrivé.

Encore merci
Tant mieux pour toi, parce que j'ai vraiment eu l'impression de parler dans le vide

par Cyrano » 12 mai 2008, 10:32

Super!!

Merci beaucoup ça marche :D , merci pour vos conseils , sans vous je n'y serai jamais arrivé.

Encore merci
Ce sera encore mieux pour toi si tu as bien saisi pourquoi ça marche ;)

par sara » 12 mai 2008, 10:31

Super!!

Merci beaucoup ça marche :D , merci pour vos conseils , sans vous je n'y serai jamais arrivé.

Encore merci

par Cyrano » 12 mai 2008, 09:30

sara, tu n'es pas logique : ce code ne peut pas fonctionner pour deux raisons principales :
-1- Tu ne te connectes nulle part à MySQL
-2- Tu utilises une variable $result qui sort de nulle part également.
-3- Tu ne lis pas les conseils que te donne caroube sur l'écriture de ta requête à propos des valeurs numériques.

Regarde bien ceci, ton code revu et corrigé, teste-le mais surtout lis les commentaires ajoutés et regarde les modifications.
<?php
/* Connexion */
$cnx = mysql_connect("localhost", "Ton-nom-d-utilisateur", "ton-mot-de-passe")
or die("La connexion a échoué.<br />\nErreur : ". mysql_error());

/* Valeurs recherchées */
$mag_min = $_POST["mag_min"];
$mag_max = $_POST["mag_max"];
$lat_min = $_POST["lat_min"];
$lat_max = $_POST["lat_max"];
$lon_min = $_POST["lon_min"];
$lon_max = $_POST["lon_max"];
/* Construction de la requête à partir des variables définies ci-dessus */
$sql = "SELECT * ".
       "FROM  seisme ".
       "WHERE (mag BETWEEN ". $mag_min ." AND ". $mag_max .") ".
       "  AND (lat BETWEEN ". $lat_min ." AND ". $lat_max .") ".
       "  AND (lon BETWEEN ". $lon_min ." AND ". $lon_max .")";
$exec = mysql_query($sql, $cnx)
or die ("Requête incorrecte<br />\n". $sql ."<br />\nErreur : ". mysql_error());

/* On vérifie qu'il y a au moins un résultat */
if (mysql_num_rows($exec) > 0)
{ 
    // Si il y a des résultats
?>
<table>
<?php
    while(false != ($rs = mysql_fetch_array($exec)))
    {
?>
  <tr>
    <td><?php echo $rs["mag"]; ?></td>
    <td><?php echo $rs["lat"]; ?></td>
    <td><?php echo $rs["lon"]; ?></td>
  </tr>
<?php
    } // Fin instruction while
?>
</table>
<?php
} 
else 
{
    // Pas de résultat trouvé
    echo "Pas de résultat";
}
mysql_free_result($query); // Libère la mémoire
mysql_close(); // Ferme la connexion
?>
</body>
</html>

par sara » 12 mai 2008, 09:04

oups c'est ce code ci:

Code : Tout sélectionner

<?php $mag_min = $_POST["mag_min"]; $mag_max = $_POST["mag_max"]; $lat_min = $_POST["lat_min"]; $lat_max = $_POST["lat_max"]; $lon_min = $_POST["lon_min"]; $lon_max = $_POST["lon_max"]; $sql = "SELECT * ". "FROM seisme ". "WHERE (mag BETWEEN '". $_POST["mag_min"] ."' AND '". $_POST["mag_max"] ."') ". " AND (lat BETWEEN '". $_POST["lat_min"] ."' AND '". $_POST["lat_max"] ."') ". " AND (lon BETWEEN '". $_POST["lon_min"] ."' AND '". $_POST["lon_max"] ."')"; $query = mysql_query($sql) or die ("Requête incorrecte"); if ($result) { // Si il y'a des résultats while ($rs = mysql_fetch_array($query)) { ?> <tr> <td><? echo $rs["mag"]; ?></td> <td><? echo $rs["lat"]; ?></td> <td><? echo $rs["lon"]; ?></td> </tr> <?php } // Fin instruction while } else { // Pas de résultat trouvé echo "Pas de résultat"; } mysql_free_result($query); // Libère la mémoire mysql_close(); // Ferme la connexion ?> </table> </body> </html>

par sara » 12 mai 2008, 09:01

J'ai modifié mon code comme ceci ,mais j'ai toujours le méme résultat?

Code : Tout sélectionner

<?php $mag_min = $_POST["mag_min"]; $mag_max = $_POST["mag_max"]; $lat_min = $_POST["lat_min"]; $lat_max = $_POST["lat_max"]; $lon_min = $_POST["lon_min"]; $lon_max = $_POST["lon_max"]; $sql = "SELECT * ". "FROM seisme ". "WHERE (mag BETWEEN '". $_POST["mag_min"] ."' AND '". $_POST["mag_max"] ."') ". " AND (lat BETWEEN '". $_POST["lat_min"] ."' AND '". $_POST["lat_max"] ."') ". " AND (lon BETWEEN '". $_POST["lon_min"] ."' AND '". $_POST["lon_max"] ."')"; $query = mysql_query($sql) or die ("Requête incorrecte"); function debug_mysql() { $mail=true; // Si vous voulez qu'un mail vous soit envoyé en cas d'erreur (true false /* Affectation des lignes html du débug à la variable $debug */ $debug='<div align="center"><font size="4"><u>Erreur SQL !</u></font></div><br> '; $debug .='A la ligne '.__LINE__.' dans le fichier '.__FILE__; $debug .='<br>MySQL a répondu : '.mysql_error(); echo $debug.'<br>Un mail a été envoyé à l\'administrateur pour corriger ce bug, il sera réparé dans les plus brefs délais.<br>Merci de votre compréhension.'; // Affichage de l'erreur $result = mysql_numrows($query); if ($result) { // Si il y'a des résultats while ($rs = mysql_fetch_array($query)) { ?> <tr> <td><? echo $rs["mag"]; ?></td> <td><? echo $rs["lat"]; ?></td> <td><? echo $rs["lon"]; ?></td> </tr> <?php } // Fin instruction while } else { // Pas de résultat trouvé echo "Pas de résultat"; } mysql_free_result($query); // Libère la mémoire mysql_close(); // Ferme la connexion ?> </table> </body> </html>
Je veux avoir le résultat sous forme de tableau.

par caroube » 11 mai 2008, 08:54

$sql = "SELECT * ". 
       "FROM  seisme ". 
       "WHERE (mag BETWEEN '". $_POST['mag min'] ."' AND '". $_POST['mag max'] ."') ". 
       "  AND (lat BETWEEN '". $_POST['lat min'] ."' AND '". $_POST['lat max'] ."') ". 
       "  AND (lon BETWEEN '". $_POST['lon min'] ."' AND '". $_POST['lon max'] ."')";  
mysql_query($sql); 
  
  echo $donnees['id']; echo $donnees['mag']; echo $donnees['lat']; echo $donnees['lon']; 
Comment tu remplis le tableau $donnees ? En gros, comment fais-tu le lien entre $sql et $donnees ?

Ensuite à quoi sert de positionner des variables $magMin, $magMax, ... si elles ne sont pas utilisées dans la requête ?
Enfin, enlève les quotes autour des champs : ce sont des nombres, pas des chaînes de caractères.
BETWEEN 12 AND 25, pas BETWEEN '12' AND '25'

par sara » 11 mai 2008, 08:40

L'erreur ne vient pas de là, j'ai corrigé ,ça me donne exactement le me^me résultat.

par caroube » 10 mai 2008, 23:39

Code : Tout sélectionner

<input type="text" name="lon_min ">
Enlève l'espace après lon_min.
Il va falloir apprendre à lire du code et rechercher les erreurs si tu veux progresser dans la programmation de sites Web.

par sara » 10 mai 2008, 21:53

Pas de solution à mon probléme? :lol:

par sara » 10 mai 2008, 16:03

Code : Tout sélectionner

<html> <head> <title>insertion de données en PHP :: partie 1</title> </head> <body> <form name="insertion" action="form.php" method="POST"> <table border="0" align="center" cellspacing="2" cellpadding="2"> <tr align="center"> <td>mag_min </td> <td><input type="int" name="mag_min"></td> </tr> <td>mag_max </td> <td><input type="int" name="mag_max"></td> </tr> <tr align="center"> <td>lat_min</td> <td><input type="text" name="lat_min "></td> </tr> <td>lat_max</td> <td><input type="text" name="lat_max"></td> </tr> <tr align="center"> <td>lon_min</td> <td><input type="text" name="lon_min "></td> </tr> <td>lon_max</td> <td><input type="text" name="lon_max"></td> </tr> <tr align="center"> <tr align="center"> <td colspan="2"><input type="submit" value="envoyer"></td> </tr> </table> </form> </body> </html>

par caroube » 10 mai 2008, 15:55

Tu peux montrer le code de ton formulaire ?

par sara » 10 mai 2008, 09:08

Bonjour,

J'ai remplacé les vides par des _ ,mais ça me redonne la me^me chose:
Array
(
[mag_min] => 0
[mag_max] => 12
[lat_min_] => 1
[lat_max] => 24
[lon_min_] => 0
[lon_max] => 24
)

condition non respectée

Je ne sais plus quoi faire, je ne trouve pas d'où vient le probléme? :cry:

par caroube » 10 mai 2008, 00:47

C'est normal les _ après lon_min et lat_min ?

par AB » 09 mai 2008, 19:09

Oui mais tu ne tombe plus sur 'condition non respectée' donc la condition est respectée. Il y avait des fautes que je n'avais pas vu dans ton code exemple "mag min" au lieu de "mag_min" (ne pas laisser d'espace vide). As tu vérifié que tous ces indices ont été corrigé dans tout ton code ?