Avant toute chose, bonjour
Donc voila mon problème, j'ai créé un petit formulaire php dans le but d'envoyer des sms au sein de mon entreprise via nagios, mais un petit problème surgit, lorsqu'un numéro de téléphone n'est pas valide, le message que l'on à precedement tapé disparaît, je voudrais pouvoir conserver le texte malgré l'erreur de saisie, pour pas que l'utilisateur est de nouveau a retapé son texte...
Voici mon code :
<html>
<head>
<script type="text/javascript">
var ns6=document.getElementById&&!document.all
function restrictinput(maxlength,e,placeholder){
if (window.event&&event.srcElement.value.length>=maxlength)
return false
else if (e.target&&e.target==eval(placeholder)&&e.target.value.length>=maxlength){
var pressedkey=/[a-zA-Z0-9\.\,\/]/
if (pressedkey.test(String.fromCharCode(e.which)))
e.stopPropagation()
}
}
function countlimit(maxlength,e,placeholder){
var theform=eval(placeholder)
var lengthleft=maxlength-theform.value.length
var placeholderobj=document.all? document.all[placeholder] : document.getElementById(placeholder)
if (window.event||e.target&&e.target==eval(placeholder)){
if (lengthleft<0)
theform.value=theform.value.substring(0,maxlength)
placeholderobj.innerHTML=lengthleft
}
}
function displaylimit(thename, theid, thelimit){
var theform=theid!=""? document.getElementById(theid) : thename
var limit_text='<b><span id="'+theform.toString()+'">'+thelimit+'</span></b> charactères maximum !!!'
if (document.all||ns6)
document.write(limit_text)
if (document.all){
eval(theform).onkeypress=function(){ return restrictinput(thelimit,event,theform)}
eval(theform).onkeydown=function(){ countlimit(thelimit,event,theform)}
} else if (ns6) {
document.body.addEventListener('keypress', function(event) { restrictinput(thelimit,event,theform) }, true);
document.body.addEventListener('keydown', function(event) { countlimit(thelimit,event,theform) }, true);
}
}
</script>
<style type="text/css">
<!--
.ta {
background-color: #AAAAAA;
border: 1px solid #333333;
}
.tex {
font-family: Tahoma;
font-size: 12px;
color: #333333;
}
-->
</style>
</head>
<body topmargin="0" leftmargin="0" bottommargin="0" rightmargin="0">
<?php
//Debut de la requete php
if (isset($_POST['telephone']) AND isset($_POST['texte'])) // Si le telephone et le texte sont remplis
{
if ($_POST['texte']=='') { // Si un des champs est manquant
?>
Veuillez renseigner correctement les champs, merci.
<?php
} if (!is_numeric($_POST['telephone'])) {
?>
Veuillez indiquer un numéro de téléphone valide.
<?php
} else // Si les champs sont corrects
{
exec ('/usr/local/nagios/libexec/sendsms.sh -m "'.$_POST['texte'].'" -n '.$_POST['telephone']);
?>
Votre message à bien été traité.
<?php
}
}
?>
<br>
<table width="550" border="0" cellpadding="0" cellspacing="0" height="100%" background="images/bg01_01.jpg" align="left">
<tr>
<td align="right" valign="top">
<form method="post" action="passerelle-sms.php">
<br>
<img src="images/SMS-PASS_01.jpg" align="left">
<span class="tex">Veuillez entrer le numéro de téléphone</span><br>
<Input name="telephone" class="ta" maxlength="10">
<br><br><br>
<br>
<span class="tex">Votre message</span><br>
<textarea name="texte" cols="50" rows="5" class="ta" id="tzm.fr"></textarea>
<br>
<script>
displaylimit("texte", "tzm.fr", 160)
</script>
<p>
<input type="submit" value="Envoyer SMS" class="ta">
<Input type="Reset" value="Tout effacer !!!" class="ta">
</form>
</td>
</tr>
</table>
</body>
</html>
Edité le 24/07/2007 à 13:04