Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript > Bibliothèques & Frameworks > jQuery
jQuery Forum d'entraide sur le framework jQuery. Avant de poster : Tutoriels jQuery, FAQ jQuery, Tous les tutoriels JavaScript, Toutes les FAQ JavaScript
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 23/08/2011, 22h41   #1
Invité régulier
 
Homme
Chef de projet en SSII
Inscription : mars 2002
Messages : 23
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Chef de projet en SSII
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 23
Points : 6
Points : 6
Par défaut Test d'une shoutbox - fonction php mal appelée ?

Bonjour,

J'ai voulu "jouer" avec un script de shoutbox trouvé sur www.yensdesign.com, mais je rencontre un soucis : l'appel à la fonction PHP qui sauvegarde ne semble pas se faire correctement.

A l'aide de firebug, je constate que je passe bien pas la fonction d'appel dans le js, mais il ne semble rien se passer côté PHP (j'ai mis quelques lignes très moches de logs pour tester)

le 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
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
$(document).ready(function(){
	//global vars
	var inputUser = $("#shoutboxUser");
	var inputMessage = $("#shoutboxMessage");
	var loading = $("#shoutboxLoading");
	var messageList = $(".shoutboxContent > ul");
 
	//functions
	function updateShoutbox(){
		//just for the fade effect
		messageList.hide();
		loading.fadeIn();
		//send the post to shoutbox.php
		$.ajax({
			type: "POST", url: "shoutbox.php", data: "action=update",
			complete: function(data){
				loading.fadeOut();
				messageList.html(data.responseText);
				messageList.fadeIn(2000);
			}
		});
	}
	//check if all fields are filled
	function checkForm(){
		if(inputUser.attr("value") && inputMessage.attr("value"))
			return true;
		else
			return false;
	}
 
	//Load for the first time the shoutbox data
	updateShoutbox();
 
	//on submit event
	$("#shoutboxForm").submit(function(){
		if(checkForm()){
			var nick = inputUser.attr("value");
			var message = inputMessage.attr("value");
			//we deactivate submit button while sending
			$("#shoutboxSend").attr({ disabled:true, value:"Sending..." });
			$("#shoutboxSend").blur();
			//send the post to shoutbox.php
			$.ajax({
				type: "POST", url: "shoutbox.php", data: "action=insert&nick=" + nick + "&message=" + message,
				complete: function(data){
					messageList.html(data.responseText);
					updateShoutbox();
					//reactivate the send button
					$("#shoutboxSend").attr({ disabled:false, value:"Shout it!" });
				}
			 });
		}
		else alert("Please fill all fields!");
		$("#shoutboxMessage").attr("value") = "";
		//we prevent the refresh of the page after submitting the form
		return false;
	});
});
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
function getContent($num){
	$res = mysql_query("SELECT date, user, message FROM shoutbox ORDER BY date DESC LIMIT ".$num);
	if(!$res)
		die("Error: ".mysql_error());
	else
		return $res;
}
function insertMessage($user, $message){
  	$userToInsert = mysql_real_escape_string(strip_tags($user));
	$messageToInsert = mysql_real_escape_string(strip_tags($message));
	$dateToInsert = Date('d/m/Y H:i:s');
    $idToInsert = 0;
    $logMsg = "";
    $logMsg .= "User = $userToInsert\nMessage = $messageToInsert\nDate = $dateToInsert\n";
    $query="SELECT max(id) FROM shoutbox";
    $result=mysql_query($query) or die (mysql_error());
    while ($row=mysql_fetch_array($result))
    {
        $idToInsert=$row[0];
    }
    $idToInsert = $idToInsert+1;
    $logMsg .= "Id = $idToInsert\n";
	$query = "INSERT INTO shoutbox(id,date, user, message) VALUES('$idToInsert','$dateToInsert', '$userToInsert', '$messageToInsert')"; 
	$res = mysql_query($query);
    $logMsg .= "Res = $res\n";
	if(!$res) {
        $logMsg .= "Error: ".mysql_error()."/n";
        $fp = fopen("logs.txt","a");
        fwrite($fp,$logMsg);
        fclose($fp);
		die("Error: ".mysql_error());
    }
	else {
        $fp = fopen("logs.txt","a");
        fwrite($fp,$logMsg);
        fclose($fp);
		return $res;
    }
}
 
/******************************
	MANAGE REQUESTS
/******************************/
switch($_POST['action']){
		case "update":
			$res = getContent(20);
			$result = "";
			while($row = mysql_fetch_array($res)){
				$result .= "<li><span class='shoutboxUser'>".$row['user']."</span><img src=\"img/shoutbox/bullet.gif\" alt=\"-\" />".$row['message']." <span class=\"shoutboxDate\">(".$row['date'].")</span></li>";
			}
			echo $result;
			break;
		case "insert":
			echo insertMessage($_POST['nick'], $_POST['message']);
			break;
	}
Oui, bon, ok, je sais que ma manière d'insérer le code dans InsertMessage n'est pas tres sexy, mais bon ...

Information complémentaire : pas systématique, à savoir que cela est rare en local, mais quasiment la majorité en "prod".

Cela vous inspire t'il ?
gmartintin est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/08/2011, 08h48   #2
Invité régulier
 
Homme
Chef de projet en SSII
Inscription : mars 2002
Messages : 23
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Chef de projet en SSII
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 23
Points : 6
Points : 6
En tout cas, les modérateurs auront eu au moins le loisir de s'amuser à changer plusieurs fois ce sujet de forum ...
gmartintin est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 16h49.


 
 
 
 
Partenaires

Hébergement Web