Generer automatiquement le numéro
Fermé
glodybiss
Messages postés
440
Date d'inscription
vendredi 6 juin 2008
Statut
Membre
Dernière intervention
29 juillet 2015
-
28 août 2012 à 19:19
Mihawk Messages postés 4315 Date d'inscription mercredi 29 mars 2006 Statut Contributeur Dernière intervention 6 janvier 2015 - 29 août 2012 à 16:56
Mihawk Messages postés 4315 Date d'inscription mercredi 29 mars 2006 Statut Contributeur Dernière intervention 6 janvier 2015 - 29 août 2012 à 16:56
A voir également:
- Generer automatiquement le numéro
- Numero prive - Guide
- Numéro père noël whatsapp - Accueil - Messagerie instantanée
- Automatiquement - Guide
- A qui appartient ce numéro - Guide
- Word numéro de page 1/2 - Guide
2 réponses
Tralala8
Messages postés
120
Date d'inscription
mercredi 17 août 2011
Statut
Membre
Dernière intervention
12 février 2013
14
28 août 2012 à 20:14
28 août 2012 à 20:14
Bonjour,
C'est normal que le nombre ressorti est aléatoire, c'est le but de la fonction mt_rand.
Si le tout est enregistrer en base de données, pourquoi ne pas créer un numéro se basant sur l'id de l'enregistrement ? C'est tout simple et ça assure un numéro de ticket unique.
C'est normal que le nombre ressorti est aléatoire, c'est le but de la fonction mt_rand.
Si le tout est enregistrer en base de données, pourquoi ne pas créer un numéro se basant sur l'id de l'enregistrement ? C'est tout simple et ça assure un numéro de ticket unique.
Mihawk
Messages postés
4315
Date d'inscription
mercredi 29 mars 2006
Statut
Contributeur
Dernière intervention
6 janvier 2015
846
29 août 2012 à 09:30
29 août 2012 à 09:30
Salut GlodyBiss, ça fait un bail :)
En effet pour un compteur, le plus simple reste de stocker sa valeur en base. Par exemple tu te fais une table "compteur" et dedans tu fais une ligne pour ton compteur.
Ensuite je te propose d'utiliser :
1/ La fonction date() et ses paramètres pour récupérer heures, minutes, jour, mois, etc... https://www.php.net/manual/fr/function.date.php
2/ Ta donnée de compteur en base pour la fin du numéros ; sans oublier de l'incrémenter à chaque fois bien sûr.
Autre solution : tu utilises le timestamp (time())comme numéro de ticket ; il s'incrémente chaque seconde, n'existera jamais en double (sauf si tu as énormément de trafic, alors tu utilises microtime())
En effet pour un compteur, le plus simple reste de stocker sa valeur en base. Par exemple tu te fais une table "compteur" et dedans tu fais une ligne pour ton compteur.
Ensuite je te propose d'utiliser :
1/ La fonction date() et ses paramètres pour récupérer heures, minutes, jour, mois, etc... https://www.php.net/manual/fr/function.date.php
2/ Ta donnée de compteur en base pour la fin du numéros ; sans oublier de l'incrémenter à chaque fois bien sûr.
Autre solution : tu utilises le timestamp (time())comme numéro de ticket ; il s'incrémente chaque seconde, n'existera jamais en double (sauf si tu as énormément de trafic, alors tu utilises microtime())
glodybiss
Messages postés
440
Date d'inscription
vendredi 6 juin 2008
Statut
Membre
Dernière intervention
29 juillet 2015
9
29 août 2012 à 13:57
29 août 2012 à 13:57
Salut Mihawk ! ça fait vraiment un bye, j'suis content que tu sois là parce que généralement toi et Assassin vous me donnez des solutions! ^^
Voici à quoi ressemble mon code, j'ai mis une petite pause avec le code à générer je cherche d'abord à résoudre un autre problème qui vient de se poser! Il se fait que quand j'envoie mon mail toute les variables que j'ai déclaré ici ne sont pas pris en charge, le mail va vide sans rien et je reçois l'erreur que toute ces variables sont indéfini !
voici mon code :
Erreur :
Voici à quoi ressemble mon code, j'ai mis une petite pause avec le code à générer je cherche d'abord à résoudre un autre problème qui vient de se poser! Il se fait que quand j'envoie mon mail toute les variables que j'ai déclaré ici ne sont pas pris en charge, le mail va vide sans rien et je reçois l'erreur que toute ces variables sont indéfini !
voici mon code :
<?php include_once('secure.php'); //Paramettre mmail $Destinataire = "news@cybernet.cd"; $Sujet = "Nouveau Ticket enregistré"; $From = "From:news@cybernet.cd\n"; $From .= "MIME-version: 1.0\n"; $From .= "Content-type: text/html; charset= iso-8859-1\n"; $Message = "Dear, <p>Un nouveau ticket vient d'etre créé dont voici les details : </p><p>Numero du ticket : $ticketnumber</p><p>Client : $customer_name</p><p>Type de Plainte : $plainte_type</p><p>Ticket créé par : $by</p><p>Date et heure : $date</p><p>Commentaire :$comment</p>"; //genère le numero de ticket $nb_min = 1; $nb_max = 100000; $nombre = mt_rand ($nb_min,$nb_max); //genère le numero de ticket ?> <?php if (isset($_POST['Soumettre']) && $_POST['Soumettre'] == 'Soumettre') { extract($_POST); if (isset($_POST['customer_name']) && !empty($_POST['customer_name'])) { $erreur = 'Le nom du client est vide.'; } if (isset($_POST['by']) && !empty($_POST['by'])) { $erreur = 'Vous devriez indiquer votre nom pour suivi.'; } $sql = 'INSERT INTO 'ticket'('ticketnumber','customer_name', 'by', 'plainte_type', 'comment', 'date') VALUES ("'.mysql_escape_string($_POST['ticketnumber']).'","'.mysql_escape_string($_POST['customer_name']).'","'.mysql_escape_string($_POST['by']).'", "'.mysql_escape_string($_POST['plainte_type']).'","'.mysql_escape_string($_POST['comment']).'", "'.date('Y-m-d H:i:s').'")'; mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error()); if ( mail( $Destinataire,$Sujet,$Message,$From) ) // tentative d'envoi du message { $mailSent = true; } else // échec de l'envoi { $errors[] = 'Erreur d\'envoie de mail.'; } echo '<div id="info" class="succes">Ticket enregistré</br></div>'; exit(); } ?> <div id="boxAgent"> <form action="" method="post" name="form1" id="form1"> <table> <?php // échec de l'envoi if (isset($erreur)) { echo '<div id="info" class="error">'.$erreur.'</div><!--error-->'; } ?> <br/><br/><h3>Nouveau Ticket</h3> <tr> <td>Numero du Ticket</td> <td > <input type="text" name="ticketnumber" class="input_ajout_agent" value="TK<?php echo $nombre; ?>" /><!--- affiche le numero de ticket--> </td> </tr> <tr> <td class="td">Customer Name</td> <td> <?php $query = "SELECT 'username' FROM 'wimax_site'"; $result = mysql_query($query); echo '<SELECT name="customer_name" class="input_ajout_agent" value="<?php if (isset($_POST["customer_name"])) echo htmlentities(trim($_POST["customer_name"])); ?>">'; echo '<OPTION>Choisissez le client</OPTION>'; while ($row = mysql_fetch_array($result)) { echo '<OPTION>'.$row['username'].'</OPTION>'; } echo '</SELECT>'; ?> </td> </tr> <tr> <td>Ticket créé par</td> <td > <input type="text" name="by" class="input_ajout_agent" value="<?php echo htmlentities(trim($_SESSION['nom'])); ?>" /> </td> </tr> <tr> <td>Concerne/Plainte</td> <td> <select type="text" name="plainte_type" class="input_ajout_agent"> <option>Choisissez</option> <option value="Manque de connexion">Pas d'accès internet</option> <option value="Desinstallation">Desinstallation</option> <option value="Installation">Installation</option> <option value="Lenteur">Lenteur</option> <option value="Reactivation">Reactivation</option> <option value="Mise en test">Mise en test</option> <option value="Mise en test">Mail</option> <option value="Changement de service">Changement de service</option> <option value="Autres">Autres</option> </select> </td> </tr> <tr> <td>Detail/Commentaire</td> <td > <textarea type="text" name="comment" class="input_ajout_agent" value="<?php if (isset($_POST['comment'])) echo htmlentities(trim($_POST['comment'])); ?>" ></textarea></td> </tr> <tr> <td></td> <td><input type="submit" name="Soumettre" class="submi" value="Soumettre" /></td> </tr> </table> </form></div>
Erreur :
Notice: Undefined variable: ticketnumber in C:\wamp\www\wimaxcustomer\ticket.php on line 9 Notice: Undefined variable: customer_name in C:\wamp\www\wimaxcustomer\ticket.php on line 9 Notice: Undefined variable: plainte_type in C:\wamp\www\wimaxcustomer\ticket.php on line 9 Notice: Undefined variable: by in C:\wamp\www\wimaxcustomer\ticket.php on line 9 Notice: Undefined variable: date in C:\wamp\www\wimaxcustomer\ticket.php on line 9 Notice: Undefined variable: comment in C:\wamp\www\wimaxcustomer\ticket.php on line 9
Mihawk
Messages postés
4315
Date d'inscription
mercredi 29 mars 2006
Statut
Contributeur
Dernière intervention
6 janvier 2015
846
29 août 2012 à 13:59
29 août 2012 à 13:59
C'est un peu normal non, tu appelles toutes ces variables en début de page PHP mais elles n'ont été définies nulle part au dessus (enfin, de ce qu'on voit ici)
glodybiss
Messages postés
440
Date d'inscription
vendredi 6 juin 2008
Statut
Membre
Dernière intervention
29 juillet 2015
9
29 août 2012 à 14:22
29 août 2012 à 14:22
Les variables sont définie quand la requête sql
Mihawk
Messages postés
4315
Date d'inscription
mercredi 29 mars 2006
Statut
Contributeur
Dernière intervention
6 janvier 2015
846
29 août 2012 à 14:25
29 août 2012 à 14:25
Pas du tout, c'est une requête d'INSERT, tu ne définis rien du tout. Tout ce que je vois ce sont des noms de colonnes, mais ce n'est en rien une définition de variables.
glodybiss
Messages postés
440
Date d'inscription
vendredi 6 juin 2008
Statut
Membre
Dernière intervention
29 juillet 2015
9
29 août 2012 à 14:29
29 août 2012 à 14:29
Ouais! Je vois. Thanks, j'ai corrigé mais j'sais pas quoi mettre pour que les variables définies prenne les $_POST.
Voici ce que j'ai ajouté :
Voici ce que j'ai ajouté :
/Paramettre mmail $Destinataire = "news@cybernet.cd"; $Sujet = "Nouveau Ticket enregistré"; $From = "From:news@cybernet.cd\n"; $From .= "MIME-version: 1.0\n"; $From .= "Content-type: text/html; charset= iso-8859-1\n"; $ticketnumber =""; $customer_name=""; $plainte_type=""; $by=""; $date=""; $comment=""; $Message = "Dear, <p>Un nouveau ticket vient d'etre créé dont voici les details : </p><p>Numero du ticket : $ticketnumber</p><p>Client : $customer_name</p><p>Type de Plainte : $plainte_type</p><p>Ticket créé par : $by</p><p>Date et heure : $date</p><p>Commentaire :$comment</p>";
29 août 2012 à 09:42
29 août 2012 à 10:30
29 août 2012 à 14:46
Lors de la génération du ticket, tu génères le jour et le mois. Ces trois données sont enregistrées dans la base de données. Lorsqu'il faut afficher le numéro de ticket, il suffit de concaténer ces trois données et le tour est joué.