Rechercher : dans
Par :

PB un javascript qui update une table mysql

Dernière réponse le 13 déc 2007 à 15:26:50 Yull Master, le 13 déc 2007 à 13:52:11 
 Signaler ce message aux modérateurs

Bonjour,

Je suis debutant dans la programation et je souhaiterai faire un p'tite fonction qui ferai que lorsque l'utilisateur ferme sont navigateur en etant sur mon site cela met a jour une valeur dans ma table sql.

Je sais pas trop si c'est possible et n'ai aucune idée de commen faire.

Je met ici le code que j'ai fait mais qui doit a coup sur etre inccorecte (vu que ca marche pas)

dans ma page index.php j'appel la fonction ainsi :

<script language="javascript">
<!--/*création d'une fonction ferm() qui va ouvrir le script de destruction de session*//-->

function ferm(){
<!--/ouverture de la fenêtre contenant le script//-->

window.open('Shoot.php','','toolbar=no,location=no, status=no, scrollbars=no, resizable=no, width=1, height=1, left=0, right=0');
}
</script>



puis voici ma page Shoot.php :

<?php
// On démarre la session
session_start();

include("Conect.php");

$numnad = $_SESSION['Login'];

// On détruit les variables de notre session
session_unset ();

// On détruit notre session
session_destroy ();

echo "<script language='javascript'>
<!--//on teste si la fenêtre mère a été fermée//-->
if (window.opener.closed){

<!--//si oui, on affiche un message puis on ferme cette fenêtre//-->
mysql_query('UPDATE individu SET conect='0'WHERE Num_ind='$numad'');
alert('ca marche !!!');

window.close();}


else{
<!--//sinon, on ferme la fenetre directement//-->

window.close();}
</script>";

?>



Merci a tous ceux qui tenterons de m'aider

cdt
Yull
Configuration: Windows 2000
Firefox 2.0.0.11

Meilleures réponses pour « PB un javascript qui update une table mysql » dans :
Javascript - Les tableaux Voir Introduction à la notion de tableau Les variables de Javascript ne permettent de stocker qu'une seule donnée à la fois. Or, étant donné qu'il est souvent utile de manipuler de nombreuses données, le concept de variable se révéle parfois...
MySQL - Supprimer des doublons dans une table VoirPour supprimer des doublons au niveau d'une table donnée définie comme suit : CREATE TABLE IF NOT EXISTS TabTest ( cle_prim integer(4) NOT NULL auto_increment, x integer, y integer, z integer, ...
Réinitialiser le mot de passe root de MySQL VoirQue ce soit lors de la première installation ou après la perte du mot de passe principal de MySQL, il est nécessaire de pouvoir modifier le mot de passe administrateur (root) de MySQL. Vous avez perdu le mot de passe root de MySQL ? Pour pouvoir...
Importer et exporter des données sous MySQL VoirImportation et exportation Les Système de Gestion de Bases de Données tels que MySQL permettent de manipuler facilement et avec beaucoup de souplesse un très important volume de données. Toutefois, aussi robuste soit MySQL, il peut être intéressant...

1

kij_82, le 13 déc 2007 à 14:01:42

Bonjour,

Ce qui est fait dans le code plus haut me semble correct, le plus important est comment tu t'en sers ?
Comment (et ou, sur quoi, quel élément) appelle tu la fonction qui ouvre ta popup (qui elle même supprimer de la session les éléments et update une valeur dans la base de données) ?

~ N'oubliez pas la balise "Résolu" lorsque votre problème est... résolu :) ~

Répondre à kij_82

2

Yull Master, le 13 déc 2007 à 14:47:35

Merci Kij_82 de te pencher sur mon probleme ^^

Je viens de modifier un peu mon code, et je parviens desormais a modifier la valeur voulue dans ma bdd losque je ferme la fenetre.

cepandant le pop up qui apparait ne se ferme pas automatiquement apres.

voici mon code remanié :

<?php
// On démarre la session
session_start();

include("Conect.php");

$numd = $_SESSION['Login'];

mysql_query("UPDATE individu SET conect='0'WHERE Num_ind='$numd'");

// On détruit les variables de notre session
session_unset ();

// On détruit notre session
session_destroy ();


echo "<script language='javascript'>
window.close();}
</script>";

?>

Répondre à Yull Master

3

Yull Master, le 13 déc 2007 à 14:57:18

RE,

au passage, je sais que cela ne fonctionne que sous ie.

J'aimerai donc savoir si il existe aussi un moyen pour que cela fonctionne sous FF

merci de votre aide

cdt
Yull

Répondre à Yull Master

4

kij_82, le 13 déc 2007 à 14:58:29

Je dis peut etre une bétise mais je ne crois pas que tu puisse fermer la fenetre courante depuis la fenetre courante.
Tu peux fermer une popup depuis sa fenetre mère, mais pas depuis la popup en question.

Ce n'est pas sur... mais ca pourrait etre la raison pour laquelle ta popup ne se ferme pas en fin de traitement.

~ N'oubliez pas la balise "Résolu" lorsque votre problème est... résolu :) ~

Répondre à kij_82

5

 Yull Master, le 13 déc 2007 à 15:26:50

Pour le probleme du pop up qui ne se ferme pas je viens de trouver une solution de contournement que voici :

<head><?echo'<meta http-equiv="refresh" content="0;URL=javascript:window.close();">';?></head>


<?php
// On démarre la session
session_start();

include("Conect.php");

$numd = $_SESSION['Login'];

mysql_query("UPDATE individu SET conect='0'WHERE Num_ind='$numd'");

// On détruit les variables de notre session
session_unset ();

// On détruit notre session
session_destroy ();

?>


maintenant me reste plus qu'a trouver la solution pour que cela marche aussi sur Fire Fox, mais je commmence a avoir des doutes sur la faisabilité de la chose, vus que dans mes recherches a chaque fois quelqu'un dit que cela ne marche pas sous FF.

mais sait'on jamais peu etre que quelqu'un aura une solution de contournemet a me proposer ^^

merci en tout cas pour toute ton aide kij_82 ;-)

Répondre à Yull Master