Salut svp aidez moi j ai une erreur a la ligne 51

Résolu/Fermé
laureinehtml Messages postés 11 Date d'inscription jeudi 19 janvier 2017 Statut Membre Dernière intervention 9 février 2017 - Modifié par laureinehtml le 19/01/2017 à 17:05
laureinehtml Messages postés 11 Date d'inscription jeudi 19 janvier 2017 Statut Membre Dernière intervention 9 février 2017 - 23 janv. 2017 à 08:59
salut svp aidez moi.je n arrive pas a corriger mon erreur Parse error: syntax error, unexpected end of file in C:\wamp64\www\essai\new1.php on ine 51 c'est a dire a la derniere ligne de la balise< /html>.je ne c'est pas de quoi il s'agit




<!Doctype>
<html>
<head><title></title>
<meta charset = "utf-8"/>
<Style>
</Style>
</head>
<?php
include("perl.php");
?>
<body>
<form method="POST" action="" >
Nom <input type ="text"name="Nom"/></br>
Prénom <input type ="text"name="prenom"/></br>
<br>
age <input type ="text"name="age"/></br>
profession<input type ="text"name="profession"/></br>
Sexe:Masculin <input type ="radio" name ="Sexe" value="Monsieur"/
Feminin <input type ="radio" name ="Sexe" value="feminin"/></br>
</br>
<hr size='17' color="grenn">
</br>
<input type="submit" name="aff" value="VERIFIER" />
<input type="submit" name="aff" value="ANNULER" />
</FORM>
<?php
$date_du_jour = date ("d-m-Y");
$heure_courante = date ("H:i:m");
echo ' ';
echo $date_du_jour;
echo ' ';
echo $heure_courante;
if(isset($_post['submit'])){
{
$Nom= $_POST['Nom'];
$prenom= $_POST['prenom'];
$age= $_POST['age'];
$profession= $_POST['profession'];
$sexe= $_POST['sexe'];
$sql="INSERT INTO concour (Nom,prénom,age,profession,sexe) VALUES ('$Nom','$prénom','$age,'$profession','sexe')";
mysql_query($sql) or die ('erreur sql!'.$sql.'<br/>'.mysql_error());
mysql_close();
}
?>
</body>
</html>
A voir également:

6 réponses

jondev Messages postés 23 Date d'inscription mercredi 18 janvier 2017 Statut Membre Dernière intervention 31 janvier 2023 9
Modifié par jondev le 19/01/2017 à 17:20
Bonjour laureinehtml

Quand vous avez une erreur de syntaxe, il faut relire le code calmement.
Votre erreur de syntaxe pour moi est dû au fait que vous avez ouvrez 2 fois l'accolade pour le if

if(isset($_post['submit'])){
{

Juste un petit conseil, ne mettez pas d'accents dans les noms de variables.
Évitez ce genre de titre de sujet ;)

En espérant avoir pu vous aider.

Pensez à mettre le sujet en résolu si c'est le cas.

Bonne continuation pour votre développement.

JonDev

À chaque problème sa solution
0
laureinehtml Messages postés 11 Date d'inscription jeudi 19 janvier 2017 Statut Membre Dernière intervention 9 février 2017
20 janv. 2017 à 08:41
merci jondev j'ai suivi tes conseils et mon code s affiche normalement.mais j'en ai un autre quand je crée les table avec mysql $sql="INSERT INTO concour (Nom,prénom,age,profession,sexe) VALUES ('$Nom','$prénom','$age,'$profession','sexe')"; il y a selement trois table qui se créer dans ma base de donnée(nom,prenom,age) et quand je renseigne les table sont vides
0
jondev Messages postés 23 Date d'inscription mercredi 18 janvier 2017 Statut Membre Dernière intervention 31 janvier 2023 9
20 janv. 2017 à 09:48
Bonjour laureinehtml

Je ne comprends pas ce que vous voulez dire par "crée les table".
La requête "INSERT INTO" permet simplement d'insérer des données dans la table "concour" déjà existante qui contient normalement les colonnes "Nom, prénom, age, profession et sexe".

Je pense qu'il est nécessaire que vous relisiez calmement votre code car vous devez avoir des erreurs dans l'orthographe de vos variables et peut-être sur le nom des colonnes voir de la table. En relisant votre code, je peux constater un problème dans les variables "$prenom" et "$sexe".

"$prenom= $_POST['prenom'];" est dévenu "$prénom" (avec un accent) dans la requête d'insertion et "$sexe= $_POST['sexe'];" est devenu "'sexe'" (sans le $) dans la requête.


Je vous redonne mon conseil, ne mettez pas d'accents dans les noms de variables, colonnes ....

En espérant avoir pu vous aider.

Pensez à mettre le sujet en résolu si c'est le cas.

Bonne continuation pour votre développement.

JonDev
0
laureinehtml Messages postés 11 Date d'inscription jeudi 19 janvier 2017 Statut Membre Dernière intervention 9 février 2017
20 janv. 2017 à 10:01
merci pour ta remarque en fait j'ai voulu dit inserer des champs dans table qui on pour nom(nom,prenom etc...)mais meme quand je rectifie l'erreur de la syntaxe ça ne me pas les autres champ.j'aurai voulu faire d'abord une requete de creation de champ(nom,prenom etc..) pour voir ce que ça va donner en fesant CREATE INTO concour(matricule,nom,prenom,age,sexe)
0
jondev Messages postés 23 Date d'inscription mercredi 18 janvier 2017 Statut Membre Dernière intervention 31 janvier 2023 9
Modifié par jondev le 20/01/2017 à 10:52
Êtes-vous sûr de l'orthographe de nom des colonnes et de la table ?
Avez-vous essayé d’exécuter la requête depuis le phpadmin ? Cela permettrait de connaitre le message d'erreur.
Sans connaitre la structure de la table ... c'est un peu difficile de trouver le point bloquant.

JonDev
0
laureinehtml Messages postés 11 Date d'inscription jeudi 19 janvier 2017 Statut Membre Dernière intervention 9 février 2017
20 janv. 2017 à 10:41
en fait j'ai pas de champs(matricule,nom,prenom etc...) mais je veux en crée via le code php avec la close INSERT INTO() mais ce qui se passe à l'exécution de la requette c'est seulement que nom,prenom qui se trouve dans ma table concour.quand je lance ma requete dans phpmyadmin on me di que le champs 'nom' n'est pas reconnu dans fied list
0
jondev Messages postés 23 Date d'inscription mercredi 18 janvier 2017 Statut Membre Dernière intervention 31 janvier 2023 9
20 janv. 2017 à 10:52
Est-il possible de faire un copier-coller du message d'erreur de Phpmyadmin ainsi que la structure de la table ? Cela sera plus parlant et permettrait de mieux voir d'où vient le problème

JonDev
0
laureinehtml Messages postés 11 Date d'inscription jeudi 19 janvier 2017 Statut Membre Dernière intervention 9 février 2017
20 janv. 2017 à 10:58
voila le msg d'erreur quan j'utilise la requete:INSERT INTO concour (Nom,prénom,age,profession,sexe) VALUES ('Nom','prenom','age','profession','sexe');


Requête SQL :


INSERT INTO concour (Nom,prénom,age,profession,sexe) VALUES ('Nom','prenom','age','profession','sexe')



MySQL a répondu: Documentation
#1054 - Champ 'Nom' inconnu dans field list
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jondev Messages postés 23 Date d'inscription mercredi 18 janvier 2017 Statut Membre Dernière intervention 31 janvier 2023 9
20 janv. 2017 à 11:17
Je me suis créé une table avec les champs que vous avez donné et votre requête s'exécute sans problème.

Pouvez-vous exporter la structure de votre table ?

Vous cliquez sur "Exporter" dans phpmyadmin puis vous me coller le contenu du fichier généré.

JonDev
0
laureinehtml Messages postés 11 Date d'inscription jeudi 19 janvier 2017 Statut Membre Dernière intervention 9 février 2017
20 janv. 2017 à 11:31
j'exporte mais j'arrive pas a coller
0
laureinehtml Messages postés 11 Date d'inscription jeudi 19 janvier 2017 Statut Membre Dernière intervention 9 février 2017
20 janv. 2017 à 11:54
<?xml version="1.0" encoding="UTF-8"?>

<!-- - phpMyAdmin XML Dump - version 4.6.4 - https://www.phpmyadmin.net - - Client : 127.0.0.1 - Généré le : Ven 20 Janvier 2017 à 10:46 - Version du serveur : 5.7.14 - Version de PHP : 5.6.25 -->

-<pma_xml_export xmlns:pma="https://www.phpmyadmin.net/some_doc_url/" version="1.0">

<!-- - Structure schemas -->



-<pma:structure_schemas>


-<pma:database charset="latin1" collation="latin1_swedish_ci" name="universite">

<pma:table name="concour"> CREATE TABLE `concour` ( `prenom` varchar(15) NOT NULL, `nom` varchar(15) NOT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1; </pma:table>

</pma:database>

</pma:structure_schemas>

<!-- - Base de données : 'universite' -->



-<database name="universite">

<!-- Table concour -->


</database>

</pma_xml_export>
0
jondev Messages postés 23 Date d'inscription mercredi 18 janvier 2017 Statut Membre Dernière intervention 31 janvier 2023 9 > laureinehtml Messages postés 11 Date d'inscription jeudi 19 janvier 2017 Statut Membre Dernière intervention 9 février 2017
20 janv. 2017 à 12:02
Le problème vient du fait que vous essayez d'insérer des données dans des champs qui n'existent pas.

Vous ne pouvez pas exécuter la reqête "INSERT INTO concour Nom,prénom,age,profession,sexe) VALUES ('Nom','prenom','age','profession','sexe'); " car les champs "age","profession" et "sexe" n'existent pas dans votre table.

Dans l'état actuel de votre table, seule la requête INSERT INTO concour (Nom,prénom) VALUES ('Nom','prenom'); devrait fonctionner

Pour exécuter la première requête, vous devez créer les champs "age","profession" et "sexe" dans votre table "concour"

Attention : dans votre table, le champ prénom n'a pas d'accent alors que dans votre requête oui.

En espérant avoir pu vous aider.

Pensez à mettre le sujet en résolu si c'est le cas.

Bonne continuation pour votre développement.

JonDev
0
laureinehtml Messages postés 11 Date d'inscription jeudi 19 janvier 2017 Statut Membre Dernière intervention 9 février 2017
20 janv. 2017 à 12:07
oui jondev en faite c'est ce que j'essayai de te faire comprendre et savoir si c'etait possible de crer des champs dans la table concour via requete sql dans le code php .je vai donc faire comme tu me dire pour voir ce que s'adonne
0
jondev Messages postés 23 Date d'inscription mercredi 18 janvier 2017 Statut Membre Dernière intervention 31 janvier 2023 9 > laureinehtml Messages postés 11 Date d'inscription jeudi 19 janvier 2017 Statut Membre Dernière intervention 9 février 2017
20 janv. 2017 à 12:27
Ok je n'avais pas compris cela désolé.

Oui il est possible de créer des champs depuis PHP.
Il faut vérifier si la colonne existe et si elle n'existe pas, la créer.

Voici comment procéder:

$sql= "SHOW COLUMNS FROM concour LIKE 'age'";
$db->query($sql);
if(empty(empty($db->num_rows)) {
$alter = "ALTER TABLE concour ADD age varchar(50) NULL";
$db->query($alter);
} else {
echo 'la colonne existe';
}


Bonne continuation pour votre développement.

JonDev
0
jondev Messages postés 23 Date d'inscription mercredi 18 janvier 2017 Statut Membre Dernière intervention 31 janvier 2023 9
20 janv. 2017 à 11:45
Il faut ouvrir le fichier avec un bloc-notes par exemple et faire un copier-coller du contenu.

Sinon dans phpmyadmin, quand vous faites "Exporter", dans "Méthode d'exportation", vous sélectionnez "Personnalisée" puis pour "Sortie" vous sélectionnez "Afficher les résultats".
Vous cliquez sur le bouton "Exécuter" tout en bas de la page, cela va vous afficher la structure à l'écran, il ne reste plus qu'à faire un copier-coller.

JonDev
0
laureinehtml Messages postés 11 Date d'inscription jeudi 19 janvier 2017 Statut Membre Dernière intervention 9 février 2017
20 janv. 2017 à 11:59
<?xml version="1.0" encoding="utf-8"?>
<!--
- phpMyAdmin XML Dump
- version 4.6.4
- https://www.phpmyadmin.net
-
- Client : 127.0.0.1
- Généré le : Ven 20 Janvier 2017 à 10:55
- Version du serveur : 5.7.14
- Version de PHP : 5.6.25
-->

<pma_xml_export version="1.0" xmlns:pma="https://www.phpmyadmin.net/some_doc_url/">
<!--
- Structure schemas
-->
<pma:structure_schemas>
<pma:database name="universite" collation="latin1_swedish_ci" charset="latin1">
<pma:table name="concour">
CREATE TABLE `concour` (
`prenom` varchar(15) NOT NULL,
`nom` varchar(15) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
</pma:table>
</pma:database>
</pma:structure_schemas>

<!--
- Base de données : 'universite'
-->
<database name="universite">
<!-- Table concour -->
</database>
</pma_xml_export>
0
laureinehtml Messages postés 11 Date d'inscription jeudi 19 janvier 2017 Statut Membre Dernière intervention 9 février 2017
23 janv. 2017 à 08:59
salut jondev mon code php marche a merveille j'arrive a renseigner ma base de donne via mon formulaire merci pour l 'assistance
0