PHP : Tapper 'Entrée'

Résolu/Fermé
medic12345 Messages postés 55 Date d'inscription samedi 23 octobre 2010 Statut Membre Dernière intervention 12 octobre 2013 - 2 juin 2012 à 21:58
medic12345 Messages postés 55 Date d'inscription samedi 23 octobre 2010 Statut Membre Dernière intervention 12 octobre 2013 - 3 juin 2012 à 13:57
Bonjour :)
Je vous remercie d'avoir encore pris le temps de lire mon message.

Quand j'ai inséré un tchat sur mon site http://adaben.net/chat , sur la page qui demande un pseudonyme "Entrer votre pseudonyme", quand on entre le pseudo, et on tappe 'Entrée', ça ne fait rien. mais par contre, si on entre le pseudo et on clique sur 'Login', ça redirige vers le tchat
J'aimerai, quand on tappe 'Entrée' après l'écriture du pseudo, que ça redirige vers le tchat aussi.
Comment attribuer cette fonction à la touche 'Entrée', s'il vous plait ?

Voici le code de l'index.php de mon Tchat :


<----- Début du code ----->

<center>
<br>
<br>
<body bgcolor="#00FF00">
<div id="picture">
<img src="http://dl.dropbox.com/u/47470353/Sauvegarde%20de%20site/Adam%20Data/conan-detective.gif" style="width: 200px; height: 240px" width="200" /></div>
<style type="text/css">
#picture {
position:absolute;
top: 50px;
right: 0px;
} </style>
<div id="picture2">
<img src="http://dl.dropbox.com/u/47470353/Sauvegarde%20de%20site/Adam%20Data/conan-detective-mirror.png" style="width: 200px; height: 240px" width="200" /></div>
<style type="text/css">
#picture2 {
position:absolute;
top: 50px;
left: 0px;
} </style>
<div id="picture3">
<img src="http://dl.dropbox.com/u/47470353/Sauvegarde%20de%20site/Adam%20Data/conan-detective.gif" style="width: 200px; height: 240px" width="200" /></div>
<style type="text/css">
#picture3 {
position:absolute;
top: 300px;
right: 0px;
} </style>
<div id="picture4">
<img src="http://dl.dropbox.com/u/47470353/Sauvegarde%20de%20site/Adam%20Data/conan-detective-mirror.png" style="width: 200px; height: 240px" width="200" /></div>
<style type="text/css">
#picture4 {
position:absolute;
top: 300px;
left: 0px;
} </style>

<div align="center">
<?php
session_start();

function createForm(){
?>
</div>
<div align="center">
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
</div>
<div align="center">
<table>
<div align="center">
<tr><td colspan="2">Merci de choisir un pseudonyme avant d'entrer sur le tchat Adam !</td></tr>
<tr><td>Votre pseudo: </td>
<td><input class="text" type="text" name="name" /></td></tr>
<tr><td colspan="2" align="center">
<input class="text" type="submit" name="submitBtn" value="Login" />
</td></tr>
</table>
</div>
<center>
</form>
<center>
<div align="center">
<?php
}

if (isset($_GET['u'])){
unset($_SESSION['nickname']);
}

// Process login info
if (isset($_POST['submitBtn'])){
$name = isset($_POST['name']) ? $_POST['name'] : "Unnamed";
$_SESSION['nickname'] = $name;
}

$nickname = isset($_SESSION['nickname']) ? $_SESSION['nickname'] : "Hidden";
?>
</div>
<center>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">
<html>
<head>
<center>
<title>Tchat - Adam</title>
<div align="center">
<link href="style/style.css" rel="stylesheet" type="text/css" />
</div>
<div align="center">
<script language="javascript" type="text/javascript">

<!--
var httpObject = null;
var link = "";
var timerID = 0;
var nickName = "<?php echo $nickname; ?>";

// Get the HTTP Object
function getHTTPObject(){
if (window.ActiveXObject) return new ActiveXObject("Microsoft.XMLHTTP");
else if (window.XMLHttpRequest) return new XMLHttpRequest();
else {
alert("Your browser does not support AJAX.");
return null;
}
}

// Change the value of the outputText field
function setOutput(){
if(httpObject.readyState == 4){
var response = httpObject.responseText;
var objDiv = document.getElementById("result");
objDiv.innerHTML += response;
objDiv.scrollTop = objDiv.scrollHeight;
var inpObj = document.getElementById("msg");
inpObj.value = "";
inpObj.focus();
}
}

// Change the value of the outputText field
function setAll(){
if(httpObject.readyState == 4){
var response = httpObject.responseText;
var objDiv = document.getElementById("result");
objDiv.innerHTML = response;
objDiv.scrollTop = objDiv.scrollHeight;
}
}

// Implement business logic
function doWork(){
httpObject = getHTTPObject();
if (httpObject != null) {
link = "message.php?nick="+nickName+"&msg="+document.getElementById('msg').value;
httpObject.open("GET", link , true);
httpObject.onreadystatechange = setOutput;
httpObject.send(null);
}
}

// Implement business logic
function doReload(){
httpObject = getHTTPObject();
var randomnumber=Math.floor(Math.random()*10000);
if (httpObject != null) {
link = "message.php?all=1&rnd="+randomnumber;
httpObject.open("GET", link , true);
httpObject.onreadystatechange = setAll;
httpObject.send(null);
}
}

function UpdateTimer() {
doReload();
timerID = setTimeout("UpdateTimer()", 5000);
}


function keypressed(e){
if(e.keyCode=='13'){
doWork();
}
}
//-->
</script>
</div>
</head>
<center>
<div align="center">
<body onload="UpdateTimer();">
<center>
<div align="center" id="main">
<center>
<div id="caption"><img src="http://dl.dropbox.com/u/47470353/Sauvegarde%20de%20site/Adam%20Data/Capture11.PNG" height="50" width="200" >.</div>
</center>
<div id="icon"> </div>
<div align="center">
<?php

if (!isset($_SESSION['nickname']) ){
createForm();
} else {
$name = isset($_POST['name']) ? $_POST['name'] : "Unnamed";
$_SESSION['nickname'] = $name;
?>
<center>
<div align="center" id="result">
<center>
<?php
$data = file("msg.html");
foreach ($data as $line) {
echo $line;
}
?>
</div>
<center>
</div>
<div align="center" id="sender" onkeyup="keypressed(event);">
Votre message: <input type="text" name="msg" size="30" id="msg" />
<button onclick="doWork();">Send</button>
</div>
<div align="center">
<?php
}

?>
</div>
<center>
</div>
</center>
</body>



<----- Fin du code ------>





Merci d'avance :)
Et bonne journée/soirée.
A voir également:

1 réponse

Navid_92 Messages postés 711 Date d'inscription dimanche 7 décembre 2008 Statut Membre Dernière intervention 12 février 2015 87
2 juin 2012 à 23:40
Hey,

function keypressed(e){ 
if(e.keyCode=='13'){ 
doWork(); 
} 
} 


Cela ne te le fais pas déjà ?
1
medic12345 Messages postés 55 Date d'inscription samedi 23 octobre 2010 Statut Membre Dernière intervention 12 octobre 2013 5
3 juin 2012 à 10:14
Merci.
0
Navid_92 Messages postés 711 Date d'inscription dimanche 7 décembre 2008 Statut Membre Dernière intervention 12 février 2015 87
3 juin 2012 à 11:29
Attention à tes failles xss.
0
medic12345 Messages postés 55 Date d'inscription samedi 23 octobre 2010 Statut Membre Dernière intervention 12 octobre 2013 5
3 juin 2012 à 11:46
Quelles failles ?!!
0
medic12345 Messages postés 55 Date d'inscription samedi 23 octobre 2010 Statut Membre Dernière intervention 12 octobre 2013 5
3 juin 2012 à 11:51
Je n'ai pas trouvé de failles, tu pourrais m'en donner une faille qui est dans le site ? :o
0
Navid_92 Messages postés 711 Date d'inscription dimanche 7 décembre 2008 Statut Membre Dernière intervention 12 février 2015 87
3 juin 2012 à 13:17
Tu as déclaré
var nickName = "<?php echo $nickname; ?>"; 
Or ce $nickname = $_POST['nick'];
Donc si je tente un code d'injection dans le champ nick du formulaire, ça va faire des dégats.

Donc sur cette ligne :
$name = isset($_POST['name']) ? $_POST['name'] : "Unnamed"; 
Remplace là par cette ligne :
$name = isset($_POST['name']) ? (get_magic_quotes_gpc() ? htmlspecialchars(stripslashes($_POST['name']), ENT_NOQUOTES,'UTF-8',true) : htmlspecialchars($_POST['name'], ENT_NOQUOTES,'UTF-8',true)) : 'unnamed'; 
0