par laurentg2003 » 01 déc. 2006, 14:28
par Ryle » 01 déc. 2006, 14:07
<?php // tout première ligne de ton code ... // ici, pas de print, de echo ou de "?>...<?php", sinon tu envoi un flux au navigateur ce qui empêchera le header de fonctionner header(...); ?> Après le header, tu peux y aller, tant que tu veux... ;)
fichier_1.php : <?php include("fichier_2.php"); header(...); ?> fichier_2.php : <?php $toto = "xxx"; ?> revient au même que <?php ?><?php $toto = "xxx"; ?><?php header(...); ?>
<?php ?><?php $toto = "xxx"; ?> <?php // et du coup ici tu envoi du code au navigateur, en l'occurence un espace, et empêche le header de fonctionner :) header(...); ?>
par laurentg2003 » 01 déc. 2006, 13:12
par Ryle » 01 déc. 2006, 11:38
<?php define('NOM',"blabla"); define('PASSE',"code"); define('SERVEUR',"localhost"); define('BASE',"base"); ?>
par laurentg2003 » 30 nov. 2006, 16:49
<?php define('NOM',"blabla"); define('PASSE',"code"); define('SERVEUR',"localhost"); define('BASE',"base");?>
par Ryle » 30 nov. 2006, 10:35
par laurentg2003 » 29 nov. 2006, 19:04
par Ryle » 29 nov. 2006, 18:33
par laurentg2003 » 29 nov. 2006, 18:30
<?php session_start(); require ("Connect.php"); // on vérifie toujours qu'il s'agit d'un membre qui est connecté if (!isset($login_user)) { // si ce n'est pas le cas, on le redirige vers l'accueil header ('Location: login.php'); exit(); } // on teste si le formulaire a bien été soumis if (isset($_POST['go']) && $_POST['go'] == 'Envoyer') { if (empty($_POST['destinataire']) || empty($_POST['titre']) || empty($_POST['message'])) { $erreur = 'Au moins un des champs est vide.'; } else { $base = mysql_connect (SERVEUR,NOM,PASSE); mysql_select_db (BASE, $base); // si tout a été bien rempli, on insère le message dans notre table SQL $sql = 'INSERT INTO messages VALUES("", "'.$id.'", "'.$_POST['destinataire'].'", "'.date("Y-m-d H:i:s").'", "'.addslashes($_POST['titre']).'", "'.addslashes($_POST['message']).'")'; mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error()); mysql_close(); header('Location: bienvenue.php'); exit(); } } ?> <html> <head> <title>Espace membre</title> </head> <body> <a href="membre.php">Retour à l'accueil</a><br /><br /> Envoyer un message :<br /><br /> <?php $base = mysql_connect (SERVEUR,NOM,PASSE); mysql_select_db (BASE, $base); // on prépare une requete SQL selectionnant tous les login des membres du site en prenant soin de ne pas selectionner notre propre login, le tout, servant à alimenter le menu déroulant spécifiant le destinataire du message $sql = 'SELECT user.login_user as nom_destinataire,user.id as id_destinataire FROM user WHERE id <> "'.$_SESSION['id'].'" ORDER BY login_user ASC'; // on lance notre requete SQL $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error()); $nb = mysql_num_rows ($req); if ($nb == 0) { // si aucun membre n'a été trouvé, on affiche tout simplement aucun formulaire echo 'Vous êtes le seul membre inscrit.'; } else { // si au moins un membre qui n'est pas nous même a été trouvé, on affiche le formulaire d'envoie de message ?> <form action="envoyer.php" method="post"> Pour : <select name="destinataire"> <?php // on alimente le menu déroulant avec les login des différents membres du site while ($data = mysql_fetch_array($req)) { echo '<option value="' , $data['id_destinataire'] , '">' , stripslashes(htmlentities(trim($data['nom_destinataire']))) , '</option>'; } ?> </select><br /> Titre : <input type="text" name="titre" value="<?php if (isset($_POST['titre'])) echo stripslashes(htmlentities(trim($_POST['titre']))); ?>"><br /> Message : <textarea name="message"><?php if (isset($_POST['message'])) echo stripslashes(htmlentities(trim($_POST['message']))); ?></textarea><br /> <input type="submit" name="go" value="Envoyer"> </form> <?php } mysql_free_result($req); mysql_close(); ?> </select> <br /><br /><a href="deconnexion.php">Déconnexion</a> <?php // si une erreur est survenue lors de la soumission du formulaire, on l'affiche if (isset($erreur)) echo '<br /><br />',$erreur; ?> </body> </html>
par Ryle » 29 nov. 2006, 18:23
oui c'est peut etre ça mais je viens exprés de faire un script en plaçant un include avant setcokie et le meme avant un header et: Warning: Cannot modify header information - headers already sent by (output started at /home/local/apache/htdocs/sites/t/www.jmb.com/Connect.php:6) in /home/local/apache/htdocs/sites/t/www.jmb.com/envoyer.php on line 26 Vous en pensez quoi?
par laurentg2003 » 29 nov. 2006, 18:14
La théorie, c'est quand on sait tout faire, mais que rien ne fonctionne. La pratique, c'est quand tout fonctionne mais que personne ne sait pourquoi. Ici nous avons réussi à réunir théorie et pratique : rien ne fonctionne et personne ne sait pourquoi...
par laurentg2003 » 29 nov. 2006, 18:10
par Ryle » 29 nov. 2006, 17:18
Ligne 59 tu as envoyé des en-têtes avec la fonction header(). Désactive-la pour tester si c'est ça
par Invité » 29 nov. 2006, 17:11
par Darth Killer » 29 nov. 2006, 12:50