Erreur en PHP

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 : Erreur en PHP

Re: Erreur en PHP

par airness37 » 31 mai 2011, 14:30

Oh putain ! MERCI BEAUCOUP =D.
L'erreur est ENFIN résolu. UN ESPACE qui me faisait TOUT FAUX! INADMISSIBLE se langage.

Quel différence !
$requete = "insert into session values ('', '".$_POST["datesession"]."','".$_POST["codecourssession"]."');";
$requete = "insert into session values ('', '".$_POST["datesession"]."',' ".$_POST["codecourssession"]."');";

Un grand merci à vous, désolé d' être si "FORT" =). :oops:

Re: Erreur en PHP

par macgawel » 31 mai 2011, 14:20

De plus, dans cours il existe bien un nems1 --'.
Non.
Dans cours il existe un 'nems1'.
Pas un nems1, pas un ' nems1'.

Rappel :
Sinon, tu devrais afficher la requête, ça t'aiderait sans doute à cerner le problème (genre un espace là où il ne faut pas :roll: )

Re: Erreur en PHP

par airness37 » 31 mai 2011, 14:10

J'utilise PHP My admin a partir de mon Script sur bloc note ^^.
De plus, dans cours il existe bien un nems1 --'. Ce qui je pense, est du a la liaison rompu entre mes 2 tables. MALHEUR ! lol
Mais comment y remédier ? tel est la question! Les liaisons sous PHP my admin sont parfaites, et comme tu peut le voir dans mon script, il en est de même.

Re: Erreur en PHP

par macgawel » 31 mai 2011, 13:59

erreur sur la requete insert into session values ('', '2011-12-12',' nems3');
Cannot add or update a child row: a foreign key constraint fails (`cuisine`.`session`, CONSTRAINT `session_ibfk_1` FOREIGN KEY (`codecourssession`) REFERENCES `cours` (`codecours`))

Voila le message d'erreur. Penses-tu que sa puisse provenir de phpmyAdmin ?
Ca dépend, tu utilises phpMyAdmin à partir de ton script php ? :mrgreen:

Lis bien la requête, compare à ce que tu devrais avoir, il n'y a rien qui te paraît bizarre ?
insert into session values ('', '2011-12-12',' nems3');

N'oublie pas le message d'erreur :
La contrainte de clé etrangère n'est pas respectée sur codecourssession.
=> La valeur que tu demandes d'insérer (ici ' nems3') n'existe pas dans cours.

Re: Erreur en PHP

par airness37 » 31 mai 2011, 13:50

erreur sur la requete insert into session values ('', '2011-12-12',' nems3');
Cannot add or update a child row: a foreign key constraint fails (`cuisine`.`session`, CONSTRAINT `session_ibfk_1` FOREIGN KEY (`codecourssession`) REFERENCES `cours` (`codecours`))

Voila le message d'erreur. Penses-tu que sa puisse provenir de phpmyAdmin ?

Re: Erreur en PHP

par macgawel » 31 mai 2011, 13:48

Et ta requête est affichée ?
Tu ne vois pas de problème ?

Tu peux toujours essayer de la passer sous PHPmyAdmin, peut-être que tu auras des infos supplémentaires...

Re: Erreur en PHP

par airness37 » 31 mai 2011, 13:42

Oui, j'utilise notepad.
il y a toujours la même erreur avec cette relation des clés --'. Comment puis-je faire. Serais-ce dans PHPMyadmin ?

Re: Erreur en PHP

par macgawel » 31 mai 2011, 13:38

Tu utilises un éditeur à coloration syntaxique ?
Tu devrais (Notepad++ pour Windows, par exemple), tu verrais tout de suite le problème :
die("erreur sur la requete ' j'ouvre avec des guillemets, je referme avec un quote :oops:

- Pense à mettre le message d'erreur quand il y en a un.
- N'oublie pas de réfléchir et de chercher toi-même d'où peut venir ton erreur.

Re: Erreur en PHP

par airness37 » 31 mai 2011, 13:26

<?php
// Démarrage d'une session
session_start();

require 'connect.inc.php';

echo "<html><head>";
echo "<title>Club de Cuisine du Xème: WORLD'S COOK - Menu du Responsable</title>";
echo "<link rel='stylesheet' type='text/css' href='style.css'>";
echo "</head><body>";

$message=NULL;

if (empty($_POST['datesession']))
$message .= "date de la session";
if (empty($_POST['codecourssession']))
$message .= "code du cours lié à la session";


if (empty($message)) {
$requete = "insert into session values ('', '".$_POST["datesession"]."',' ".$_POST["codecourssession"]."');";
mysql_query($requete) or die("erreur sur la requete '.$requete.'<br />'.mysql_error());
echo "Les données ont bien été enregistrées";
}
else {
echo "Erreur. Les champs suivants doivent être obligatoirement remplis :<br>";
echo $message;
}


?>


<form action="index.htm"><INPUT TYPE='submit' VALUE="Retour à l'accueil"></form>
<form action="validation.php"><INPUT TYPE='submit' VALUE="Retour au menu responsable"></form>


ERREUR SUR LA LIGNE SURLIGNE. Mon echo ne s'affiche pas en bleu --'. VIVE LE BAC ! Mais merci de votre aide a tous.

Re: Erreur en PHP

par macgawel » 31 mai 2011, 13:22

Si, il y a une erreur.

Il manque un point-virgule à la fin de la ligne $requete=... :oops:

Re: Erreur en PHP

par airness37 » 31 mai 2011, 13:17

n'y a-t-il pas une erreur dans la requête ?
Car il a y une erreur sois disant.
Je suis désolé de ne pas être compétant. Mais sur le reste du PHP sa peut allez mais alors en langage SQL sur php, c'est une autre affaire.( j'ai fait copier/coller)

Re: Erreur en PHP

par macgawel » 31 mai 2011, 13:08

Déjà, je te conseille de respecter la logique :
N'afficher le message de succès qu'après le passage (réussi) de la requête...
Sinon, tu devrais afficher la requête, ça t'aiderait sans doute à cerner le problème (genre un espace là où il ne faut pas :roll: )
if (empty($message)) {
$requete = "insert into session values ('', '".$_POST["datesession"]."',' ".$_POST["codecourssession"]."');"
mysql_query($requete) or die("erreur sur la requete '.$requete.'<br />'.mysql_error());
echo "Les données ont bien été enregistrées";
}

Re: Erreur en PHP

par airness37 » 31 mai 2011, 13:01

<?php
// Démarrage d'une session
session_start();

require 'connect.inc.php';

echo "<html><head>";
echo "<title>Club de Cuisine du Xème: WORLD'S COOK - Menu du Responsable</title>";
echo "<link rel='stylesheet' type='text/css' href='style.css'>";
echo "</head><body>";

$message=NULL;

if (empty($_POST['datesession']))
$message .= "date de la session";
if (empty($_POST['codecourssession']))
$message .= "code du cours lié à la session";

if (empty($message)) {
echo "Les données ont bien été enregistrées";
mysql_query("insert into session values ('', '".$_POST["datesession"]."',' ".$_POST["codecourssession"]."');") or die(mysql_error());
}
else {
echo "Erreur. Les champs suivants doivent être obligatoirement remplis :<br>";
echo $message;
}


?>

Re: Erreur en PHP

par macgawel » 31 mai 2011, 12:53

Et on pourrait avoir le code PHP (juste le passage concernant ta requête) ?
Ou la requête ?

Re: Erreur en PHP

par airness37 » 31 mai 2011, 12:11

mon script est bon sinon PHP my admin m'afficherait une erreur.
Le voici :
create table adherent (
numadh integer not null AUTO_INCREMENT,
nomadh varchar(30),
prenomadh varchar(20),
adradh varchar(50),
cpadh char(5),
villeadh varchar(30),
teladh char(10),
meladh varchar(40),
primary key (numadh))TYPE=INNODB DEFAULT CHARSET=latin1;

create table chef (
numchef integer not null,
nomchef varchar(30),
prenomchef varchar(20),
specialitechef varchar(40),
primary key (numchef))TYPE=INNODB DEFAULT CHARSET=latin1;

create table cours (
codecours char(5) not null,
libellecours varchar(40),
dureecours integer,
numchefcours integer,
primary key (codecours),
foreign key (numchefcours) references chef(numchef))TYPE=INNODB DEFAULT CHARSET=latin1;

create table session (
numsession integer not null AUTO_INCREMENT,
datesession date,
codecourssession char(5),
primary key (numsession),
foreign key (codecourssession) references cours(codecours))TYPE=INNODB DEFAULT CHARSET=latin1;

create table inscription (
numadhins integer not null,
numsessionins integer not null,
dateins date,
primary key (numadhins, numsessionins),
foreign key (numadhins) references adherent(numadh),
foreign key (numsessionins) references session(numsession))TYPE=INNODB DEFAULT CHARSET=latin1;

insert into adherent (nomadh, prenomadh, adradh, cpadh, villeadh) values("Chaprot", "Jules", "120 rue d'Hauteville","75010", "Paris");
insert into adherent (nomadh, prenomadh, adradh, cpadh, villeadh) values("Lagaffe", "Gaston", "140 boulevard Magenta","75010", "Paris");
insert into adherent (nomadh, prenomadh, adradh, cpadh, villeadh) values("Poulin", "Carole", "15 rue des Peupliers","03000", "Moulin");
insert into adherent (nomadh, prenomadh, adradh, cpadh, villeadh) values("Demaret", "Edouard", "10 boulevard de Denain","75010", "Paris");
insert into adherent (nomadh, prenomadh, adradh, cpadh, villeadh) values("Traboli", "Etienne", "345 avenue Jean Jaures","18000", "Bourges");
insert into adherent (nomadh, prenomadh, adradh, cpadh, villeadh) values("Agora", "Sophie", "78 rue des Tilleuls","37000", "Tours");


insert into chef values(1,'Yakamoto', 'Ken', 'cuisine japonaise');
insert into chef values(2,'Pucci', 'Mario', 'cuisine italienne');
insert into chef values(3,'Lam', 'Thieu Phan', 'cuisine vietnamienne');

insert into cours values('sush1','les sushis de thon',3,1);
insert into cours values('sush2','les sushis au concombre',2,1);
insert into cours values('tira1','le tiramisu traditionnel',3,2);
insert into cours values('past1','les pasta alla genovese',2,2);
insert into cours values('nems1','les vrais nems vietnamiens',3,3);

insert into session values ('', '2010-06-15', 'sush1');
insert into session values ('', '2010-06-18', 'sush1');
insert into session values ('', '2010-06-10', 'sush2');
insert into session values ('', '2010-06-12', 'sush2');
insert into session values ('', '2010-07-01', 'tira1');
insert into session values ('', '2010-07-05', 'tira1');
insert into session values ('', '2010-07-02', 'past1');
insert into session values ('', '2010-07-10', 'nems1');
insert into session values ('', '2010-07-12', 'nems1');