Tom's Guide > Forum > Programmation > [PHP] PB de script
Mot :    Pseudo :           
 

salut a tous

 

mon code ne marche pas, il y a une erreur sur la ligne : 7

 

<?php
mysql_connect("localhost", "***********", "*******" );
mysql_select_db("****************" );

 

if (isset($_POST['Pseudo']) AND isset($_POST['Message']) AND isset($_POST['Date']))
{
$Pseudo=htmlentities($_POST['Pseudo'];
$Date=htmlentities($_POST['Date'];
$Message=$_POST['Message'];
$Message=nl2br($Message);

mysql_query("INSERT INTO News VALUES('', '" . $Pseudo . "', '" . $Message . "','".$Date."')" );
}

 

$host = $_SERVER['HTTP_HOST'];
$uri = rtrim(dirname($_SERVER['PHP_SELF']), '/\\');
$extra = 'news.php';
header("Location: http://$host$uri/$extra"
echo "Merci de votre post !
";
);

 

mysql_close();
?>

 

enfin :

Parse error: syntax error, unexpected ';' in /home/alkahida/admin/Merci_news.php on line 23


c'est se que ma page me renvois ( la ligne 23 correspond a la ligne 7 du code !

 

ou se trouve l'erreur ??


Message édité par andrelec1 le 17-07-2007 à 09:09:47
------------------------------ XD --> peut aussi se dessiner --> XP
Microsoft se fout-il pas ne notre tete avec son XP ???
Liens sponsorisés
Inscrivez-vous ou connectez-vous pour masquer ceci.

Code :
  1. $Pseudo=htmlentities($_POST['Pseudo'];
  2.     $Date=htmlentities($_POST['Date'];


le problème vient simplement du fait que tu n'as pas fermé tes parenthèses.... :sarcastic:

En général quand il te donne la ligne où il y a un problème c'est super simple de trouver son erreur.

Dis toi que quand il y a un "Parse error: syntax error" c'est que tu as oublié une parenthese ou un point virgule ou quelquechose dans ce genre...

Répondre à xaebhal

a oK

il y a une erreur sur le echo maintenant !

voila l'erreur retourner :

Parse error: syntax error, unexpected T_ECHO in /home/alkahida/admin/Merci_news.php on line 35



j'ai tester en remplacent :

header("Location: http://$host$uri/$extra"
echo "Merci de votre post !";
);


par:

header("Location: http://$host$uri/$extra" );
echo "Merci de votre post !";


Mais voila l'erreur retourner :

Warning: Cannot modify header information - headers already sent by (output started at /home/alkahida/admin/Merci_news.php:9) in /home/alkahida/admin/Merci_news.php on line 26
Merci de votre post !


Le font de la page s'affiche ( juste un <body bgcolor="#ffff67"> mais c'est une avancer XD )

------------------------------ XD --> peut aussi se dessiner --> XP
Microsoft se fout-il pas ne notre tete avec son XP ???
Répondre à andrelec1

Pourquoi veux tu utiliser un header?

Le header est la première information que renvoie le serveur au client, et donc si tu as deja ecrit quelquechose sur ta page, tu ne peux plus en renvoyer un...

Donc enleve ton

Code :
  1. header("Location: http://$host$uri/$extra" );



Je suppose que tu veux rediriger la page genre 5 secondes apres avoir affiché ton message "Merci de votre post !", mais pour ça il existe d'autres methodes
Par exemple tu peut ajouter ça à ta page entre l

Code :
  1. <script type="text/javascript">
  2. function redirect(){
  3.   window.location="http://www.monsite.net"
  4. }
  5. setTimeout("redirect()",5000); // delai en millisecondes
  6. </script>



Dans le <head></head> de ta page

Répondre à xaebhal

non
j'ai un formulaire sur une page ( News.php )
quand je valide je suis envoyer vers cette page , qui envoi les info a ma bdd m'affiche un message comme quoi le message a bien était envoyer et qui revient au départ ( donc News.php )

j'avais demander il a quelque temps et on m'avais donner se code dont je ne suis jamais arriver a faire fonctionner , puis mon dd a voulu divorcer avec mon pc !

j'ai eu mon news dd et j'ai re uploader mon site mais bon c'est rester a l'état de beta , et la je voudrait continuais mon site !

dont si tu a un autre code a me proposer qui fais en sorte que :

je suis sur News.php
je remplie mon formulaire
je valide , et j'arrive sur une page qui me dit que ma News et valider ( elle envois les donner a ma bdd par la même occasion )
puis je suis de nouveau rediriger ver News.php

Un peut style le message qui se trouve sur se forum quand on valide un message !

( je par en vac , je rentre jeudi donc excuse moi si je ne donne pas de nouvelle d'ici la ! )

------------------------------ XD --> peut aussi se dessiner --> XP
Microsoft se fout-il pas ne notre tete avec son XP ???
Répondre à andrelec1

Ben utilise le javascript que je t'ai donné, tu le met sur la page qui te dis que la News est validée.

Répondre à xaebhal

???

je quoi , ou ?
si je mais tous le code php sur la premier page ! et quand je clic sur validee ( avec un action="Merci_news.php" ma News ne partira pas dans ma bdd !!

------------------------------ XD --> peut aussi se dessiner --> XP
Microsoft se fout-il pas ne notre tete avec son XP ???
Répondre à andrelec1

bon alors je reexplique le principe
tu as :

  • une page avec ton formulaire : "form.php"
  • une page qui ecris dans ta base de donnée : "action.php"
  • une page qui dis que la donnée est validée : "valid.php"
  • une page qui dis qu'il y a eu une erreur : "erreur.php"
  • et ta page d'accueil : "accueil.php"


Form.php
dans ton formulaire, tu met <form action="action.php">

Action.php
ici tu récupere les données du formulaire ($_POST) et tu les écris dans ta base de donnée. Surtout n'ecris rien du tout avec ce php, meme pas de <head></head> etc..., aucun echo, RIEN!
Si jamais une erreur arrive pendant le traitement des données ou l'écriture dans la base, tu fais un

Code :
  1. header("Location: erreur.php" );


sinon à la fait tu fais un

Code :
  1. header("Location: valid.php" );



Valid.php
Dans cette page, tu utilise le javascript que je t'ai filé entre les balise <head></head> et tu ecris juste ton message "Merci, vos données ont bien été enregistrées...". Tu change eventuellement la durée pour avoir plus ou moins de temps avant la redirection.

Code :
  1. <html>
  2. <head>
  3. <script type="text/javascript">
  4. function redirect(){
  5.   window.location="http://www.monsite.net"
  6. }
  7. setTimeout("redirect()",5000); // delai en millisecondes
  8. </script>
  9. </head>
  10. <body>
  11. Merci! Vos données ont bien été enregistrées. Vous allez être redirigés vers la page d'accueil.
  12. </body>
  13. </html>



Erreur.php
La tu fais comme valid.php sauf qu'au lieu de dire merci tu dis qu'il y a eu une erreur.

Voila c'est clair?

Répondre à xaebhal

Oui
je nais que quelque base en php

je mouline un peut pour la page Action.php
enfette avec n'y arrive pas du tout !

------------------------------ XD --> peut aussi se dessiner --> XP
Microsoft se fout-il pas ne notre tete avec son XP ???
Répondre à andrelec1

peut tu maider a faire le action.php

------------------------------ XD --> peut aussi se dessiner --> XP
Microsoft se fout-il pas ne notre tete avec son XP ???
Répondre à andrelec1
Tom's Guide > Forum > Programmation > [PHP] PB de script
Aller à :

Il y a 334 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici.

Attention

Vous allez répondre sur un sujet resté inactif pendant plus de 6 mois.
Assurez-vous d'apporter des éléments nouveaux à la discussion avant de poursuivre.

Répondre Annuler
Liens