Précédent   Forum des professionnels en informatique > PHP > Langage
Langage Forum sur le langage PHP, la POO, les conventions, la sécurité, etc. Avant de poster : FAQ Langage, toutes les FAQ PHP, cours langage et sources PHP
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 05/12/2010, 14h44   #1
 
Inscription : décembre 2010
Messages : 6
Détails du profil
Informations forums :
Inscription : décembre 2010
Messages : 6
Points : -1
Points : -1
Par défaut Erreur de chat (session_start) & Problème de fusion d'image

Bonjour !

J'ai donc un Tchat, mais qui a un problème...

Lorsque j'entre mon Pseudo et que je fais "Tchatter" (censé me rediriger vers une page du Tchat, j'ai les erreurs suivantes qui apparaissent :

Code :
1
2
3
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\xampp\htdocs\Tchat\index.php:1) in C:\xampp\htdocs\Tchat\index.php on line 4
 
Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\Tchat\index.php:1) in C:\xampp\htdocs\Tchat\index.php on line 30

Voici aussi la première partie PHP de index.php :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<?php
include("connect.php");
if(!empty($_POST) && isset($_POST["pseudo"]) && !empty($_POST["pseudo"])){
      session_start();
      $pseudo = $_POST["pseudo"];
      $pseudo = mysql_escape_string($pseudo);
      $sql = "SELECT * FROM connected WHERE pseudo LIKE '$pseudo' LIMIT 1";
      $req = mysql_query($sql);
      $data = mysql_fetch_assoc($req);
      if(empty($data)){
	 $ip = $_SERVER["REMOTE_ADDR"];
	 $sql = "INSERT INTO connected(pseudo,ip,date) VALUES ('$pseudo','$ip',".time().")";
	 $req = mysql_query($sql) or die(mysql_error());
	 $idTchat = mysql_insert_id();
      }
      else{
	  if($data["ip"] == $_SERVER["REMOTE_ADDR"] && time()-$data["date"]<60 ){
	      $idTchat = $data["id"];
	  }
	  else if(time()-$data["date"]>60){
	      $idTchat =  $data["id"];
	  }
	  else{
	      $erreur = "Ce pseudo est déja en cours d'utilisation";
	  }
      }
      if(!isset($erreur)){
	    $_SESSION["pseudo"] = $_POST["pseudo"];
	    $_SESSION["idTchat"] = $idTchat;
	    header("location:tchat.php");
      }
}
?>

Et connect.php :

Code :
1
2
3
4
5
<?php
	mysql_connect('localhost','root','');
	mysql_select_db('tchat');
        mysql_query("SET NAMES 'utf8'");
?>

Que faire pour régler ce problème ?

________________________________________________

Bonjour.

J'ai voulu créer une image, fusion de deux images, en PHP, grâce à un tutoriel, mais j'ai un problème.

Voici mon code :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
header ("Content-type: image/png"); // L'image que l'on va créer est un png
 
// On charge d'abord les images
$source = imagecreatefrompng("og.png"); // Le logo est la source
$destination = imagecreatefromjpeg("og-v5.jpg"); // La photo est la destination
 
// Les fonctions imagesx et imagesy renvoient la largeur et la hauteur d'une image
$largeur_source = imagesx($source);
$hauteur_source = imagesy($source);
$largeur_destination = imagesx($destination);
$hauteur_destination = imagesy($destination);
 
// On veut placer le logo en bas à droite, on calcule les coordonnées où on doit placer le logo sur la photo
$destination_x = $largeur_destination - $largeur_source;
$destination_y =  $hauteur_destination - $hauteur_source;
 
// On met le logo (source) dans l'image de destination (la photo)
imagecopymerge($destination, $source, $destination_x, $destination_y, 0, 0, $largeur_source, $hauteur_source, 60);
 
// On affiche l'image de destination qui a été fusionnée avec le logo
imagejpeg($destination);
?>
og.png étant le logo, et og-v5.png la grande image de base.

J'aimerais donc savoir quel code devrais-je ensuite insérer pour mettre mon image, si celui là est déjà bon !

_____________________________________________________

Et en passant, une dernière chose concernant mon Tchat.

Je propose deux images de fond, j'avais donc actuellement deux pages différentes d’accueil dans le Tchat, chacune ayant un fond différent.

J'aimerais savoir que faire pour que, en cliquant sur un lien, le lien de l'image (contenu dans un div) change, ce qui permettrais de le faire en une seule page.

Merci d'avance,

Bien cordialement,

Urefeu
Urefeu est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/12/2010, 14h55   #2
Membre éclairé
 
Inscription : octobre 2004
Messages : 235
Détails du profil
Informations forums :
Inscription : octobre 2004
Messages : 235
Points : 360
Points : 360
Citation:
Envoyé par Urefeu Voir le message

J'ai donc un Tchat, mais qui a un problème...

Lorsque j'entre mon Pseudo et que je fais "Tchatter" (censé me rediriger vers une page du Tchat, j'ai les erreurs suivantes qui apparaissent :

Code :
1
2
3
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\xampp\htdocs\Tchat\index.php:1) in C:\xampp\htdocs\Tchat\index.php on line 4
 
Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\Tchat\index.php:1) in C:\xampp\htdocs\Tchat\index.php on line 30
Citation:
"(output started at C:\xampp\htdocs\Tchat\index.php:1)"
signifie que dans index.php à la ligne 1 il y a une "output", c'est à dire du contenu envoyé au navigateur. La balise <?php doit être sur la première ligne tout au début du fichier, ça n'a pas l'air d'être le cas....
Joker-eph est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/12/2010, 15h08   #3
 
Inscription : décembre 2010
Messages : 6
Détails du profil
Informations forums :
Inscription : décembre 2010
Messages : 6
Points : -1
Points : -1
Ah oui, merci.

Mais qu'est-ce qui cloche dans ce code ? J'ai mis le JavaScript qui est censé actualiser le tchat à chaque nouveau message reçu, mais, au lieu de ça, je n'ai plus du tout aucun message du tchat...

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
    <head>
        <title>Chat OG V5</title>
 
</head>
<script type="text/javascript">
function refresh_div()
{
	var xhr_object = null;
	if(window.XMLHttpRequest)
		{ // Firefox
			xhr_object = new XMLHttpRequest();
		}
	else if(window.ActiveXObject)
		{ // Internet Explorer
			xhr_object = new ActiveXObject('Microsoft.XMLHTTP');
		}
	else { // XMLHttpRequest non supporté par le navigateur 
	   alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); 
	   xhr_object = false; 
		}
	var method = 'POST';
	var filename = 'minichat.php';
	xhr_object.open(method, filename, true);
	xhr_object.onreadystatechange = function()
		{
			if(xhr_object.readyState == 2)
			{
				var tmp = xhr_object.responseText;
				document.getElementById('texte').innerHTML = tmp;
			}
		}
	xhr_object.send(null);
	setTimeout('refresh_div()', 5000);
}
</script>
<style type="text/css">
    form
    {
        text-align:center;       
    }
	a
	{
	font-weight: bolder;
	text-decoration: none;
	color: #FE1FA7;
	vertical-align: bottom;
	line-height: 20px;
	font-size: x-large;
	 text-align:center;
	}
 
	a:hover
	{
	font-size: xx-large;
	}
html, body
{
	margin: 0;
	padding: 0;
	height: 100%;
	width: 100%;
}
#texte
{
   font-family: "Comic Sans MS", "Trebuchet MS", Georgia, serif;
}
.background
{
	position:absolute ;
	height:100% ;
	width:100% ;
}
p
{
font-weight: bolder;
}
 
    </style>
    <body onload='refresh_div();'>
    <img src="og-v5.png" class="background"/><div class="background">
    <form action="minichat_post.php" method="post">
        <p>
        <label for="pseudo">Pseudo</label> : <input type="text" name="pseudo" id="pseudo" value="<?php echo $_COOKIE['pseudo']; ?>" /><br />
        <label for="message">Message</label> :  <input type="text" name="message" id="message" /><br />
 
        <input type="submit" value="Envoyer" />
 
    </form>
<div id="texte">
 
 
<?php
// Connexion à la base de données
try
{
	$bdd = new PDO('mysql:host=localhost;dbname=test', 'root', '');
}
catch(Exception $e)
{
        die('Erreur : '.$e->getMessage());
}
 
// Récupération des 10 derniers messages
$reponse = $bdd->query('SELECT pseudo, message FROM minichat ORDER BY ID DESC LIMIT 0, 10');
 
// Affichage de chaque message (toutes les données sont protégées par htmlspecialchars)
while ($donnees = $reponse->fetch())
{
	echo '<p><strong>' . htmlspecialchars($donnees['pseudo']) . '</strong> : ' . htmlspecialchars($donnees['message']) . '</p>';
}
 
$reponse->closeCursor();
 
?>
 
</div><br />
</p>
 
 
 
 
</div></body></html>
Merci d'avance,

Bien cordialement,

Urefeu
Urefeu est déconnecté   Envoyer un message privé Réponse avec citation 01
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 13h33.


 
 
 
 
Partenaires

Hébergement Web