Correction code php & javascript
txiki
Messages postés
6819
Date d'inscription
Statut
Contributeur
Dernière intervention
-
smart -
smart -
Bonjour,
Avant toute chose, il faudrait regarder ces deux sites. Site 1: http://editionsgracianne.free.fr/Agenda/Formulaire.php (Login=test, Pass=toto). Si on écrit quelque chose dans le textarea puis Visualiser on voit la mise en forme. OK.
http://editionsgracianne.free.fr/Agenda/Liste_Agenda.php Ici les boutons Suivant et Précédent fonctionnent très bien. L'utilisation du calendrier fonctionne parfaitement.
Site 2: http://saucede.free.fr/index.php?page=Ajout_Sortie&lang=Fr (Login=test, Pass=toto64). Ici pas de preview possible. De plus si on Valide sans preview tout s'ajoute bien dans la table SAUF le contenu du textarea (???).
http://saucede.free.fr/index.php?page=Liste_Sorties&lang=Fr (menu Les activités - Les sorties à venir). Ici le bouton Suivant ne mène nulle part. Et l'utilisation du calendrier ne fonctionne pas du tout. N'hésitez pas à faire vous même des tests dans ces formulaires, les tables seront vidées dans les deux sites (le premier étant d'ailleurs abandonné par son propriétaire).
Cela fait 2 semaines que je cherche mais maintenant je fatigue et suis complètement coincé. Je suis désolé d'etre aussi long mais je vous met le code du formulaire:
Le code de la page View.php:
Peut-être vous faudra-t-il d'autres portions de code et dans ce cas n'hésitez pas à me demander.
Je me suis épuisé, fait de gros breaks pour me calmer mais hélas sans résultats. Une grosse aide me serait d'un ENOOOOOORME secours ! Merci infiniment d'avance.
Le bonheur est la seule chose que l'on peut donner sans l'avoir.
Avant toute chose, il faudrait regarder ces deux sites. Site 1: http://editionsgracianne.free.fr/Agenda/Formulaire.php (Login=test, Pass=toto). Si on écrit quelque chose dans le textarea puis Visualiser on voit la mise en forme. OK.
http://editionsgracianne.free.fr/Agenda/Liste_Agenda.php Ici les boutons Suivant et Précédent fonctionnent très bien. L'utilisation du calendrier fonctionne parfaitement.
Site 2: http://saucede.free.fr/index.php?page=Ajout_Sortie&lang=Fr (Login=test, Pass=toto64). Ici pas de preview possible. De plus si on Valide sans preview tout s'ajoute bien dans la table SAUF le contenu du textarea (???).
http://saucede.free.fr/index.php?page=Liste_Sorties&lang=Fr (menu Les activités - Les sorties à venir). Ici le bouton Suivant ne mène nulle part. Et l'utilisation du calendrier ne fonctionne pas du tout. N'hésitez pas à faire vous même des tests dans ces formulaires, les tables seront vidées dans les deux sites (le premier étant d'ailleurs abandonné par son propriétaire).
Cela fait 2 semaines que je cherche mais maintenant je fatigue et suis complètement coincé. Je suis désolé d'etre aussi long mais je vous met le code du formulaire:
<?
session_start(); // Démarrage de la session. A placer obligatoirement avant tout code html. Requière le dossier sessions chez Free.
$_SESSION['connect'] = 0; //initialise la variable 'connect'
if (isset($_POST['mot_de_passe']) AND isset($_POST['login'])) // Si les variables existent
{
$mot_de_passe = $_POST['mot_de_passe'];
$login = $_POST['login']; //On récupère les données envoyées par la méthode POST du formulaire d'identification
}
else // Les variables n'existent pas encore
{
$mot_de_passe = "";
$login = ""; // On crée des variables $mot_de_passe et $login vides
}
if (($mot_de_passe == "toto64" AND $login == "test"))
// Si le mot de passe et le login sont bons (on peut mettre plusieurs utilisateurs. Dans ce cas, ajouter les dans le if).
{
$_SESSION['connect'] = 1; // Change la valeur de la variable connect.
$_SESSION['login'] = $login; // Permet de récupérer le login afin de personnaliser la navigation
// On affiche la page cachée.
?>
<style type="text/css">
<!-- Tailles des polices -->
.tpetit { font-size: x-small; }
.petit { font-size: small; }
.gros { font-size: large; }
.tgros { font-size: x-large; }
</style>
<!-- page des activités proposées cachée que l'on va afficher si le couple login/pass est OK -->
<table align="center" border="0" cellspacing="0" cellpadding="4">
<tr>
<td>
<!-- Pour que les champs obligatoires soient controlés, ils doivent être vierges (pas de value) -->
<form class="formajout" name="Sortie" id="Sortie" action="/Activites/Traitement_Fiche%20Fr.php" onsubmit="return verif(this)" method="post">
<fieldset>
<legend> <strong> Ajouter </strong> une activité à venir </legend>
<p><small> Les champs marqués <span class="red">*</span> sont obligatoires</small><br />
<label for="Titre"> Activité </label>
:<span class="red">*</span>
<input name="Activite" id="Activite" autofocus tabindex="10" type="text" value="" size="80" maxlength="80" />
<input type="hidden" name="Publication" id="Publication" value="<?php $Publication = (date("%d %B %Y à %H:%i:", filemtime($SCRIPT_FILENAME)));?>" ></p>
<label for="Lieu"> Lieu </label>
:<span class="red">*</span> <input name="Lieu" id="Lieu" tabindex="20" type="text" value="" size="40" maxlength="80" />
<label for="Date"></label>
<label for="Date"> Date :
<small>(utiliser le calendrier ci-contre)</small> :</label> <a href="javascript:cal.popup();"><img src="/Activites/img_calendar/cal.gif" width="16" height="16" border="0" alt="Cliquez ici pour choisir la date" title="Cliquez ici pour choisir la date." /></a>
<input name="Date" id="Date" tabindex="30" type="text" size="14" maxlength="25" />
<script language="JavaScript" type="text/javascript">
// créer un objet de calendrier juste après la fermeture d'un "tag de formulaire".
// Spécifier l'élément du formulaire comme le seul paramètre (document.forms['nom_du_formulaire'].elements['nom_d'entrée']);
// Note : vous pouvez avoir autant d'objets de calendrier dont vous avez besoin pour votre application
// elements.['date'] ou "Date" est le name/id du champ du formulaire juste au dessus
var cal = new calendar1(document.forms['Sortie'].elements['Date']);
cal.year_scroll = true;
cal.time_comp = false;
</script></p>
<label for="Depart"> </label>
<p><label for="Depart"> Rendez-Vous </label>
: <input name="Depart" id="Depart" tabindex="40" type="text" value="" size="50" maxlength="80" />
<label for="Participants">
Nombre maxi de participants : </label>
<input name="Participants" id="Participants" tabindex="50" type="text" value="" size="7" maxlength="10" /></p>
<!-- on insère les balises html pour la mise en forme du texte -->
<!-- l'array du zcode doit être égal au script Inject_BBCode.js (ligne 63 et suivantes) -->
<!-- les insert tag du formulaire. La $html dans view.php réencodera ces balises protégées. -->
<p align="center"> <img src="/Modules/Images/Gras.gif" width="25" height="25" class="image_cliquable" alt="Gras" title="Gras" onclick="insertTag('<strong>', '</strong>', 'Comment'); return false;" />
<img src="/Modules/Images/Italique.gif" width="25" height="25" class="image_cliquable" alt="Italique" title="Italique" onclick="insertTag('<em>', '</em>', 'Comment'); return false;" />
<img src="/Modules/Images/Souligne.gif" width="25" height="25" class="image_cliquable" alt="Souligné" title="Souligné" onclick="insertTag('<u>', '</u>', 'Comment'); return false;" />
<img src="/Modules/Images/Barre.gif" width="25" height="25" class="image_cliquable" alt="Barré" title="Barré" onclick="insertTag('<s>', '</s>', 'Comment'); return false;" />
<img src="/Modules/Images/Saut_Ligne.gif" width="25" height="25" class="image_cliquable" alt="Retour chariot" title="Retour chariot" onclick="insertTag('<br />', 'Comment'); return false;" />
<img src="/Modules/Images/Lien.gif" width="23" height="25" class="image_cliquable" alt="Lien" title="Lien" onclick="insertTag('', '', 'Comment', 'lien'); return false;" />
<img src="/Modules/Images/Citation.gif" width="25" height="25" class="image_cliquable" alt="Citation" title="Citation" onclick="insertTag('', '', 'Comment', 'citation'); return false;" />
<select onchange="insertTag ('<taille valeur="' + this.options[this.selectedIndex].value + '">', '</taille>', 'Comment');">
<option value="none" class="selected" selected="selected">Taille</option>
<option value="tpetit">Très petit</option>
<option value="petit">Petit</option>
<option value="gros">Gros</option>
<option value="tgros">Très gros</option>
</select>
<select onchange="insertTag('<couleur valeur="' + this.options[this.selectedIndex].value + '">', '</couleur>', 'Comment');">
<option value="none" class="selected" selected="selected"> Couleur </option>
<option value="noir" style="color:#000000;"> Noir </option>
<option value="gris" style="color:#999999;"> Gris </option>
<option value="rouge" style="color:#FF0000;"> Rouge </option>
<option value="bleu" style="color: #0000FF;"> Bleu </option>
<option value="vert" style="color: #006600;"> Vert </option>
<option value="violet" style="color: #D49FFF;" >Violet</option>
<option value="jaune" style="color:#FCEF3C;" >Jaune</option>
</select>
<!-- Les 2 lignes ci-dessous servent a afficher la chekbox Prévisualisation automatique (décochée par défaut) à coté des boutons de mise en forme -->
<input name="previsualisation" type="checkbox" id="previsualisation" value="previsualisation" />
<label for="previsualisation"> Prévisualisation auto </label>
</p>
<!-- <p align="left">Commentaires:<br /> -->
<textarea onkeyup="preview(this, 'previewDiv');" onselect="preview(this, 'previewDiv');" id="Comment" cols="100" rows="3">Commentaires :</textarea>
<!-- </p> -->
</fieldset>
<div id="previewDiv"></div>
<div id="viewDiv"></div>
<p align="center"><input type="button" id="Visualiser" tabindex="60" value="Visualiser" onclick="view('Comment','viewDiv');" />
<input type="submit" tabindex="70" value="Valider" />
</p>
</pre>
</div>
</form>
</td>
</tr>
</table>
<?php
}
else // le mot de passe n'est pas bon
{
// On affiche la page d'authentification.
?>
<!-- ==== Début de la page d'authentification ==== -->
<table width="100%" align="center" border="0" cellspacing="0" cellpadding="6">
<tr><td colspan="3"><h2 align="center" class="red"> Accès protégé</h2>
<h3 align="center" class="red"> veuillez vous authentifier </h3></td></tr>
<tr><td>
<form method="post" name="authentification" id="authentification">
<fieldset class="vert">
<legend class="admin"> <strong> Ajouter </strong> une activité dans la liste ? </legend>
<p align="center"> <label for="login">Login</label> : <input type="text" name="login" id="login" tabindex="10" /></p>
<script type="text/javascript" language="JavaScript">document.authentification.login.focus();</script>
<p align="center"><label for="mot_de_passe">Password</label> : <input type="password" name="mot_de_passe" id="mot_de_passe" tabindex="20" /></p>
<p align="center"><input type="submit" value="Ajouter" tabindex="21" /></p>
</fieldset>
</form>
</td>
<td>
<form method="post" action="" name="authentification" id="authentification">
<fieldset class="orange"><legend><strong>Modifier</strong> une activité ?</legend>
<p align="center"> <label for="login">Login</label> : <input type="text" name="login" id="login" tabindex="30" /></p>
<script type="text/javascript" language="JavaScript">document.authentification.login.focus();</script>
<p align="center"><label for="mot_de_passe">Password</label> : <input type="password" name="mot_de_passe" id="mot_de_passe" tabindex="40" /></p>
<p align="center"><input type="submit" value="Modifier" tabindex="41" /></p>
</fieldset>
</form>
</td>
<td>
<form method="post" action="" name="authentification" id="authentification">
<fieldset class="red"><legend><strong>Supprimer</strong> une activité ?</legend>
<p align="center"> <label for="login">Login</label> : <input type="text" name="login" id="login" tabindex="50" /></p>
<script type="text/javascript" language="JavaScript">document.authentification.login.focus();</script>
<p align="center"><label for="mot_de_passe">Password</label> : <input type="password" name="mot_de_passe" id="mot_de_passe" tabindex="60" /></p>
<p align="center"><input type="submit" value="Supprimer" tabindex="61" /></p>
</fieldset>
</form>
</td>
</tr>
</table>
<?php
} // Fin du else (si le mot de passe n'était pas bon).
// Fin du code :)
?>
Le code de la page View.php:
<?php
// l'array du zcode doit être égal au script Inject_BBCode.js (ligne 63 et suivantes) et
// les insert tag du formulaire. La $html réencodera ces balises protégées.
function parseZCode($content) {
// Parsage des balises
$zcode = array(
// ''<p>(.+)</p>'isU', // paragraphe
''<strong>(.+)</strong>'isU', // texte gras
''<em>(.+)</em>'isU', // texte italique
''<u>(.+)</u>'isU', // texte souligné
''<s>(.+)</s>'isU', // texte barré
''<br>(.+)</br>'isU', // retour à la ligne
''<lien>(.+)</lien>'isU', // intitulé du lien
''<lien url="(.+)">(.+)</lien>'isU', // url du lien
// ''<image>(.+)</image>'isU', // On n'utilise pas d'image ici
''<citation>(.+)</citation>'isU', // Citation
''<citation nom="(.+)">(.+)</citation>'isU', // Auteur de la citation
''<citation lien="(.+)">(.+)</citation>'isU', // lien de la citation
''<taille valeur="(.+)">(.+)</taille>'isU' // taille du/es mot/s selectionné/s
''<couleur valeur="(.+)">(.+)</couleur>'isU' // taille du/es mot/s selectionné/s
);
$html = array(
// '<p>$1</p>', // paragraphe
'<strong>$1</strong>', // texte gras
'<em>$1</em>', // texte italique
'<u>$1</u>', // texte souligné
'<s>$1</s>', // texte barré
'<br>$1</br>', // retour à la ligne
'<a href="$1">$1</a>', // intitulé du lien
'<a href="$1">$2</a>', // url du lien
// '<img src="$1" alt="Image utilisateur" />', // On n'utilise pas d'image ici
'<br /><span>Citation</span><div>$1</div>', // citation
'<br /><span>Citation : $1</span><div>$2</div>', // Auteur de la citation
'<br /><span><a href="$1">Citation</a></span><div>$2</div>', // lien de la citation
'<span class="$1">$2</span>'
);
$content = htmlspecialchars($content);
$content = preg_replace($zcode, $html, $content);
// parsage des smilies
$smiliesName = array(':magicien:', ':colere:', ':diable:', ':ange:', ':ninja:', '>_<', ':pirate:', ':zorro:', ':honte:', ':soleil:', ':\'\\(', ':waw:', ':\\)', ':D', ';\\)', ':p', ':lol:', ':euh:', ':\\(', ':o', ':colere2:', 'o_O', '\\^\\^', ':\\-°');
$smiliesUrl = array('magicien.png', 'angry.gif', 'diable.png', 'ange.png', 'ninja.png', 'pinch.png', 'pirate.png', 'zorro.png', 'rouge.png', 'soleil.png', 'pleure.png', 'waw.png', 'smile.png', 'heureux.png', 'clin.png', 'langue.png', 'rire.gif', 'unsure.gif', 'triste.png', 'huh.png', 'mechant.png', 'blink.gif', 'hihi.png', 'siffle.png');
$smiliesPath = "http://www.siteduzero.com/Templates/images/smilies/";
for ($i = 0, $c = count($smiliesName); $i < $c; $i++) {
$content = preg_replace(''' . $smiliesName[$i] . ''isU', '<img src="' . $smiliesPath . $smiliesUrl[$i] . '" alt="smiley" />', $content);
}
// Retours à la ligne
$content = preg_replace(''\n'isU', '<br />', $content);
return $content;
}
if (isset($_POST["string"])) {
$content = $_POST["string"];
if (get_magic_quotes_gpc()) {
$content = stripslashes($content);
}
echo parseZCode($content); // Ecriture du contenu parsé.
}
?> A noter que je ne veux pas de smilies bien que présent dans ce code. S'il n'y a pas de preview je pense que cela vient dette page View.php mais là j'ai de gros doutes. J'ai tellement testé de choses que.....
Peut-être vous faudra-t-il d'autres portions de code et dans ce cas n'hésitez pas à me demander.
Je me suis épuisé, fait de gros breaks pour me calmer mais hélas sans résultats. Une grosse aide me serait d'un ENOOOOOORME secours ! Merci infiniment d'avance.
Le bonheur est la seule chose que l'on peut donner sans l'avoir.
A voir également:
- Correction code php & javascript
- Code ascii - Guide
- Code puk bloqué - Guide
- Comment déverrouiller un téléphone quand on a oublié le code - Guide
- Code activation windows 10 - Guide
- Scanner qr code pc - Guide
2 réponses
Au fait ! Un maximum de commentaires seraient grandement apprécié pour la compréhension de mes erreurs dans le code. Merci d'avance.
Le bonheur est la seule chose que l'on peut donner sans l'avoir.
Le bonheur est la seule chose que l'on peut donner sans l'avoir.
Bonjour à tous,
J'ai réglé l'affichage du calendrier dans le formulaire de saisie mais le contenu de ce champ (Varchar dans la table) à cause de l'utilisation d'un calendrier en popup ne sécrit pas dans la table. Pourquoi ?
Autre chose: il y a un champ de type datetime dans cette même table mais il n'affiche que des 0000-00-00 00:00:00. J'ai testé plusieurs codes dans un champ caché du formulaire (value="<?php ------- ; ?>"> (je n'ai pas accès au fichier car suis au bureau).
Si j'arrive à régler ces deux choses ce sera déjà un immense espoir pour la suite.
N'hésitez pas à faire vos propres tests (la table sera vidée) sur le site: http://saucede.free.fr/index.php?page=Ajout_Sortie&lang=Fr (Login=test, Pass=toto64). N'essayez pas la preview, ne fonctionne pas et je ne comprends pas du tout pourquoi.
La validation, elle, fonctionne. Vous verrez le résultat dans le menu Les activités/Les activités à venir (mais sans la date du calendrier).
Merci infiniment d'avance.
Le bonheur est la seule chose que l'on peut donner sans l'avoir.
J'ai réglé l'affichage du calendrier dans le formulaire de saisie mais le contenu de ce champ (Varchar dans la table) à cause de l'utilisation d'un calendrier en popup ne sécrit pas dans la table. Pourquoi ?
Autre chose: il y a un champ de type datetime dans cette même table mais il n'affiche que des 0000-00-00 00:00:00. J'ai testé plusieurs codes dans un champ caché du formulaire (value="<?php ------- ; ?>"> (je n'ai pas accès au fichier car suis au bureau).
Si j'arrive à régler ces deux choses ce sera déjà un immense espoir pour la suite.
N'hésitez pas à faire vos propres tests (la table sera vidée) sur le site: http://saucede.free.fr/index.php?page=Ajout_Sortie&lang=Fr (Login=test, Pass=toto64). N'essayez pas la preview, ne fonctionne pas et je ne comprends pas du tout pourquoi.
La validation, elle, fonctionne. Vous verrez le résultat dans le menu Les activités/Les activités à venir (mais sans la date du calendrier).
Merci infiniment d'avance.
Le bonheur est la seule chose que l'on peut donner sans l'avoir.
<head>
<meta content="fr-ma" http-equiv="Content-Language" />
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
<title>Modifiez La liste Des Materiaux</title></head>
<body>
<form method="Post" name="Mataricule" action="Modifier.php">
Mataricule:<select name='Matricule' > <br/>
<?php
$cnx=mysqli_connect("localHost","root","me","gestion");
$requete="select * from materiel";
$resultat=mysqli_query($cnx,$requete);
while ($ligne=mysqli_fetch_row($resultat)){
echo"<option value='$ligne[0]'>$ligne[0]</option>";
}
?>
<input type="submit" value="Modifier" name="Modifier">
</form>
<?php
if(isset($_POST["Modifier"])){
$requete="SELECT*FROM materiel WHERE Mataricule='".$_POST['Mataricule']."'";
$resultat=mysqli_query($cnx,$requete);
if($resultat) {
$coord=mysqli_fetch_array($resultat);
echo"
Matricule Materiel:<input name='matricule' type='text' style='width: 170px' value='$coord[0]' disabled />
Marque Materiel: <input type='text' value='$coord[1]' name='Marque' >
Model Materiel: <input type='text' value='$coord[2]' name='Model' >
Prestataire: <input type='text' value='$coord[3]' name='prestataire' >
Type Materiel: <input type='text' value='$coord[4]' name='type' >
Qte Entrée: <input type='text' value='$coord[5]' name='Entree' disabled>
Qte Sortie: <input type='text' value='$coord[6]' name='Sortie' disabled>
Qte En Stock:<input type='text' value='$coord[7]' name='Stock' disabled>
</span>
<input type='reset' value='Annuler' name='effacer'> <input type='submit' value='Ajouter' name='envoyer'>
";
}
$marque=$_POST["marque"];
$model=$_POST["model"];
$prestataire=$_POST["prestataire"];
$type=$_POST["type"];
$cnx=mysqli_connect("LocalHost","root","me","gestion");
$requete2="UPDATE materiel SET Fournisseur=$prestataire AND Type=$type AND Marque=$marque AND model=$model WHERE Matricule='".$_POST['Mataricule']."'";
$resultat2=mysqli_query($cnx,$requete2);
}
?>
</body>
</html>