Vous n'êtes pas identifié(e).

Top posteurs

Statistiques

Partenaires

  • eXolia Hosting
  • Eggdrop.fr

#1 Re : Snippets » [PHP] NickServ Web 1.1 » 18/02/2012 20:40:03

Nickoos, Merci

Ca marche maintenant, j'ai du enlever le delay sur le serveur et l'enregistrement s'est tres bien passé
Sauf que ca ne confirme pas l'enregistrement comme ca devrait.

je vais regarder le code de plus pres et voir pourquoi la derniere ligne ne s'execute pas quand le pseudo est enregistré.

Merci beaucoup

Je vais le re-tester encore puis je vais coller tout le code ici pour les autres qui voudraient bien l'utiliser.

A suivre...

#2 Re : Snippets » [PHP] NickServ Web 1.1 » 18/02/2012 20:13:13

AbPhP a écrit :
Nickoos a écrit :

Php5 n'aime pas chercher quand cela n'existe pas.

Code: PHP
if(isset($_POST['pseudo']) && isset($_POST['motpass']) && isset($_POST['email'])) {
if(!preg_match("!^[0-9a-z\-._]+@[0-9a-z\-._]+\.[a-z]{2,4}$!i",$_POST['email'])) { header("Location: regnick.php?err=1"); }
elseif(!preg_match("!^[a-z0-9\-._]{5,10}$!i",$_POST['motpass'])) { header("Location: regnick.php?err=2"); }
elseif(!preg_match("!^[a-z0-9\-._]{2,15}$!i",$_POST['pseudo'])) { header("Location: regnick.php?err=3"); }
else { @nickreg($_POST['pseudo'],$_POST['motpass'],$_POST['email']); }
}

Pareil pour la suite, joue avec les isset()

Oui cela me donne les erreurs suivantes maintenant.


Code:
Notice: Undefined index: err in /home/user/public_html/regnick.php on line 127
Notice: Undefined index: err in /home/user/public_html/regnick.php on line 128
Notice: Undefined index: err in /home/user/public_html/regnick.php on line 129
Notice: Undefined index: err in /home/user/public_html/regnick.php on line 130
Notice: Undefined index: err in /home/user/public_html/regnick.php on line 131
Notice: Undefined index: err in /home/user/public_html/regnick.php on line 132
Notice: Undefined index: err in /home/user/public_html/regnick.php on line 133
Notice: Undefined index: err in /home/user/public_html/regnick.php on line 134
Code:
Notice: Undefined index: ok in /home/user/public_html/regnick.php on line 135

Re- Salut

J'ai essayé an isset ca me donnait une autre erreur.
voici la partie en question, la ligne 127 est biensur celle qui commence avec

if($_GET['err']=="1")

Code: PHP
<tr><td align=\"center\" colspan=\"2\"><b>NickServ Web</b><br><br></td></tr>";
if($_GET['err']=="1") { echo "<tr><td align=\"center\" colspan=\"2\"><font size=\"1\">Email Incorrect</font><br><br></td></tr>"; }         
elseif($_GET['err']=="2") { echo "<tr><td align=\"center\" colspan=\"2\"><font size=\"1\">Mot de passe Incorrect</font><br><br></td></tr>"; }
elseif($_GET['err']=="3") { echo "<tr><td align=\"center\" colspan=\"2\"><font size=\"1\">Pseudo Incorrect</font><br><br></td></tr>"; }
elseif($_GET['err']=="4") { echo "<tr><td align=\"center\" colspan=\"2\"><font size=\"1\">Connexion Impossible</font><br><br></td></tr>"; }
elseif($_GET['err']=="5") { echo "<tr><td align=\"center\" colspan=\"2\"><font size=\"1\">Pseudo déjà enregistré sur $nickserv</font><br><br></td></tr>"; }
elseif($_GET['err']=="6") { echo "<tr><td align=\"center\" colspan=\"2\"><font size=\"1\">$nickserv est offline</font><br><br></td></tr>"; }
elseif($_GET['err']=="7") { echo "<tr><td align=\"center\" colspan=\"2\"><font size=\"1\">Pseudo en ligne sur le serveur</font><br><br></td></tr>"; }
elseif($_GET['err']=="8") { echo "<tr><td align=\"center\" colspan=\"2\"><font size=\"1\">Erreur lors de la connexion au serveur</font><br><br></td></tr>"; }
elseif($_GET['ok']=="1") { echo "<tr><td align=\"center\" colspan=\"2\"><font size=\"1\">Votre pseudo a bien été enregistré sur $nickserv</font><br><br></td></tr>"; }

Si tu as des suggestions ca sera sympa merci, je ne m'y connais pas trop en php, merci d'avance

Merci beaucoup Nickoos,

Ca marche bien, y'a plus de notice, sauf que ca n'enrengistre pas les pseudos. sad pourtant le code a l'air tres correct.

Merci encore pour ton aide Nickoos

#3 Re : Snippets » [PHP] NickServ Web 1.1 » 18/02/2012 02:02:00

Nickoos a écrit :

Php5 n'aime pas chercher quand cela n'existe pas.

Code: PHP
if(isset($_POST['pseudo']) && isset($_POST['motpass']) && isset($_POST['email'])) {
if(!preg_match("!^[0-9a-z\-._]+@[0-9a-z\-._]+\.[a-z]{2,4}$!i",$_POST['email'])) { header("Location: regnick.php?err=1"); }
elseif(!preg_match("!^[a-z0-9\-._]{5,10}$!i",$_POST['motpass'])) { header("Location: regnick.php?err=2"); }
elseif(!preg_match("!^[a-z0-9\-._]{2,15}$!i",$_POST['pseudo'])) { header("Location: regnick.php?err=3"); }
else { @nickreg($_POST['pseudo'],$_POST['motpass'],$_POST['email']); }
}

Pareil pour la suite, joue avec les isset()

Oui cela me donne les erreurs suivantes maintenant.


Code:
Notice: Undefined index: err in /home/user/public_html/regnick.php on line 127
Notice: Undefined index: err in /home/user/public_html/regnick.php on line 128
Notice: Undefined index: err in /home/user/public_html/regnick.php on line 129
Notice: Undefined index: err in /home/user/public_html/regnick.php on line 130
Notice: Undefined index: err in /home/user/public_html/regnick.php on line 131
Notice: Undefined index: err in /home/user/public_html/regnick.php on line 132
Notice: Undefined index: err in /home/user/public_html/regnick.php on line 133
Notice: Undefined index: err in /home/user/public_html/regnick.php on line 134
Code:
Notice: Undefined index: ok in /home/user/public_html/regnick.php on line 135

Re- Salut

J'ai essayé an isset ca me donnait une autre erreur.
voici la partie en question, la ligne 127 est biensur celle qui commence avec

if($_GET['err']=="1")

Code: PHP
<tr><td align=\"center\" colspan=\"2\"><b>NickServ Web</b><br><br></td></tr>";
if($_GET['err']=="1") { echo "<tr><td align=\"center\" colspan=\"2\"><font size=\"1\">Email Incorrect</font><br><br></td></tr>"; }         
elseif($_GET['err']=="2") { echo "<tr><td align=\"center\" colspan=\"2\"><font size=\"1\">Mot de passe Incorrect</font><br><br></td></tr>"; }
elseif($_GET['err']=="3") { echo "<tr><td align=\"center\" colspan=\"2\"><font size=\"1\">Pseudo Incorrect</font><br><br></td></tr>"; }
elseif($_GET['err']=="4") { echo "<tr><td align=\"center\" colspan=\"2\"><font size=\"1\">Connexion Impossible</font><br><br></td></tr>"; }
elseif($_GET['err']=="5") { echo "<tr><td align=\"center\" colspan=\"2\"><font size=\"1\">Pseudo déjà enregistré sur $nickserv</font><br><br></td></tr>"; }
elseif($_GET['err']=="6") { echo "<tr><td align=\"center\" colspan=\"2\"><font size=\"1\">$nickserv est offline</font><br><br></td></tr>"; }
elseif($_GET['err']=="7") { echo "<tr><td align=\"center\" colspan=\"2\"><font size=\"1\">Pseudo en ligne sur le serveur</font><br><br></td></tr>"; }
elseif($_GET['err']=="8") { echo "<tr><td align=\"center\" colspan=\"2\"><font size=\"1\">Erreur lors de la connexion au serveur</font><br><br></td></tr>"; }
elseif($_GET['ok']=="1") { echo "<tr><td align=\"center\" colspan=\"2\"><font size=\"1\">Votre pseudo a bien été enregistré sur $nickserv</font><br><br></td></tr>"; }

Si tu as des suggestions ca sera sympa merci, je ne m'y connais pas trop en php, merci d'avance

#4 Re : Snippets » [PHP] NickServ Web 1.1 » 17/02/2012 20:52:25

Harakiri a écrit :

Salut,

En regardant les éventuels messages d'erreur ou de retour de NickServ tu en saurais sûrement un peu plus. Là, comme ça... Difficile d'en dire plus à mon humble avis.

Merci j'ai ajouté un code pour avoir les "Warnings" et voici ce que ca donne.

Code:
Notice: Undefined index: pseudo in /home/user/public_html/regnick.php on line 53
Notice: Undefined index: err in /home/user/public_html/regnick.php on line 124
Notice: Undefined index: err in /home/user/public_html/regnick.php on line 125
Notice: Undefined index: err in /home/user/public_html/regnick.php on line 126
Notice: Undefined index: err in /home/user/public_html/regnick.php on line 127
Notice: Undefined index: err in /home/user/public_html/regnick.php on line 128
Notice: Undefined index: err in /home/user/public_html/regnick.php on line 129
Notice: Undefined index: err in /home/user/public_html/regnick.php on line 130
Notice: Undefined index: err in /home/user/public_html/regnick.php on line 131
Notice: Undefined index: ok in /home/user/public_html/regnick.php on line 132

Ca un "Undefined index"

Celle ci est la ligne 53 dont il se plaint

Code: PHP
if($_POST['pseudo'] AND $_POST['motpass'] AND $_POST['email'])

toute la partie de ce code:


Code: PHP
if($_POST['pseudo'] AND $_POST['motpass'] AND $_POST['email']) {
if(!preg_match("!^[0-9a-z\-._]+@[0-9a-z\-._]+\.[a-z]{2,4}$!i",$_POST['email'])) { header("Location: regnick.php?err=1"); }
elseif(!preg_match("!^[a-z0-9\-._]{5,10}$!i",$_POST['motpass'])) { header("Location: regnick.php?err=2"); }
elseif(!preg_match("!^[a-z0-9\-._]{2,15}$!i",$_POST['pseudo'])) { header("Location: regnick.php?err=3"); }
else { @nickreg($_POST['pseudo'],$_POST['motpass'],$_POST['email']); }
}

puis cette partie du code

Code: PHP
<tr><td align=\"center\" colspan=\"2\"><b>NickServ Web</b><br><br></td></tr>";
if($_GET['err']=="1") { echo "<tr><td align=\"center\" colspan=\"2\"><font size=\"1\">Email Incorrect</font><br><br></td></tr>"; }
elseif($_GET['err']=="2") { echo "<tr><td align=\"center\" colspan=\"2\"><font size=\"1\">Mot de passe Incorrect</font><br><br></td></tr>"; }
elseif($_GET['err']=="3") { echo "<tr><td align=\"center\" colspan=\"2\"><font size=\"1\">Pseudo Incorrect</font><br><br></td></tr>"; }
elseif($_GET['err']=="4") { echo "<tr><td align=\"center\" colspan=\"2\"><font size=\"1\">Connexion Impossible</font><br><br></td></tr>"; }
elseif($_GET['err']=="5") { echo "<tr><td align=\"center\" colspan=\"2\"><font size=\"1\">Pseudo déjà enregistré sur $nickserv</font><br><br></td></tr>"; }
elseif($_GET['err']=="6") { echo "<tr><td align=\"center\" colspan=\"2\"><font size=\"1\">$nickserv est offline</font><br><br></td></tr>"; }
elseif($_GET['err']=="7") { echo "<tr><td align=\"center\" colspan=\"2\"><font size=\"1\">Pseudo en ligne sur le serveur</font><br><br></td></tr>"; }
elseif($_GET['err']=="8") { echo "<tr><td align=\"center\" colspan=\"2\"><font size=\"1\">Erreur lors de la connexion au serveur</font><br><br></td></tr>"; }
elseif($_GET['ok']=="1") { echo "<tr><td align=\"center\" colspan=\"2\"><font size=\"1\">Votre pseudo a bien été enregistré sur $nickserv</font><br><br></td></tr>"; }

#5 Re : Snippets » [PHP] NickServ Web 1.1 » 17/02/2012 18:56:54

TiSmA a écrit :

Bonjour,

Voici une nouvelle version de mon NickServ Web qui dormait dans mon PC depuis un moment smile

Nom du fichier : regnick.php
Description : Enregistrement des pseudos sur NickServ via un formulaire web.

Code: PHP
<?php
##
## Configuration
##

// Adresse de Connexion du Serveur
$serveur="irc.domaine.tld"; 
// Port du Serveur
$port="6667";
// Pseudo de NickServ
$nickserv="NickServ";
// Realname & Message de quit
$mess="NickServ Web";
 
##
## Fonction
##

function nickreg($pseudo,$pass,$email) {
global $serveur, $port, $nickserv, $mess;
$ps=stripslashes($pseudo);
$mp=stripslashes($pass);
$em=stripslashes($email);
$fp=@fsockopen($serveur,$port, $errno, $errstr, 5);
if (!$fp) { header("Location: regnick.php?err=4"); }
else {
fputs($fp,"USER $ps $ps $ps :$mess \r\n"); 
fputs($fp,"NICK $ps \r\n");
while($data=fgets($fp,1024)) { 
$arg = explode(" ",$data);
if($arg[1]=="266") { fputs($fp,"PRIVMSG $nickserv :INFO $ps\r\n"); }
elseif($arg[0]=="ERROR") { fputs($fp,"QUIT : $mess \r\n"); fclose($fp); header("Location: regnick.php?err=8"); }
elseif($arg[0]=="PING") { fputs($fp,"PONG $arg[1]\r\n"); }
elseif($arg[1]=="401") { fputs($fp,"QUIT : $mess \r\n"); fclose($fp); header("Location: regnick.php?err=6"); }
elseif($arg[1]=="433") { fputs($fp,"QUIT : $mess \r\n"); fclose($fp); header("Location: regnick.php?err=7"); }
elseif($arg[1]=="NOTICE") { 
if(ereg("Le nick (.+) n'est pas enregistré", $data)) { fputs($fp,"PRIVMSG $nickserv :REGISTER $mp $em\r\n"); }
elseif(ereg("Ce pseudo est enregistré et protégé", $data)) { fputs($fp,"QUIT : $mess \r\n"); fclose($fp); header("Location: regnick.php?err=5"); }
elseif(ereg("Le pseudo (.+) est enregistré", $data)) { fputs($fp,"QUIT : $mess \r\n"); fclose($fp); header("Location: regnick.php?ok=1"); }
}
}
}
}
 
##
## Remote
## 

if($_POST['pseudo'] AND $_POST['motpass'] AND $_POST['email']) {
if(!preg_match("!^[0-9a-z\-._]+@[0-9a-z\-._]+\.[a-z]{2,4}$!i",$_POST['email'])) { header("Location: regnick.php?err=1"); }
elseif(!preg_match("!^[a-z0-9\-._]{5,10}$!i",$_POST['motpass'])) { header("Location: regnick.php?err=2"); }
elseif(!preg_match("!^[a-z0-9\-._]{2,15}$!i",$_POST['pseudo'])) { header("Location: regnick.php?err=3"); }
else { @nickreg($_POST['pseudo'],$_POST['motpass'],$_POST['email']); }
}
 
##
## Code HTML
##

echo"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">
<html>
<head>
<title>NickServ Web</title>
<META HTTP-EQUIV=\"Content-Type\" CONTENT=\"text/html; CHARSET=iso-8859-1\">
<META HTTP-EQUIV=\"CONTENT-LANGAGE\" CONTENT=\"fr\">
<script language=\"javascript\" type=\"text/javascript\">
function verif()
{
var vpseudo = /^[a-z0-9\-._]{2,15}$/i;
var vmail = /^[0-9a-z\-._]+@[0-9a-z\-._]+\.[a-z]{2,4}$/i;
var vpass = /^[a-z0-9\-._]{5,10}$/i;
if (document.nweb.pseudo.value.length == 0)
{
alert(\"Votre pseudo...\");
return false;
}
if (document.nweb.pseudo.value.length <= 2)
{
alert(\"Votre pseudo doit contenir minimum 3 caractères...\");
return false;
}
if (!vpseudo.test(document.nweb.pseudo.value))
{
alert(\"Votre pseudo comporte des caractères illegaux.\");
return false;
}
if (document.nweb.motpass.value.length == 0)
{
alert(\"Votre mot de passe...\");
return false;
}
if (document.nweb.motpass.value.length <= 5)
{
alert(\"Votre mot de passe doit contenir minimum 6 caractères...\");
return false;
}
if (!vpass.test(document.nweb.motpass.value))
{
alert(\"Votre mot de passe comporte des caractères illegaux.\");
return false;
}
if (document.nweb.email.value.length == 0)
{
alert(\"Votre E-mail...\");
return false;
}
if (!vmail.test(document.nweb.email.value))
{
alert(\"Email Incorrect\");
return false;
}
return true;
}
</script>
</head>
<body>
<form name=\"nweb\" OnSubmit=\"return verif()\" action=\"regnick.php\" method=\"post\">
<table>
<tr><td align=\"center\" colspan=\"2\"><b>NickServ Web</b><br><br></td></tr>";
if($_GET['err']=="1") { echo "<tr><td align=\"center\" colspan=\"2\"><font size=\"1\">Email Incorrect</font><br><br></td></tr>"; }
elseif($_GET['err']=="2") { echo "<tr><td align=\"center\" colspan=\"2\"><font size=\"1\">Mot de passe Incorrect</font><br><br></td></tr>"; }
elseif($_GET['err']=="3") { echo "<tr><td align=\"center\" colspan=\"2\"><font size=\"1\">Pseudo Incorrect</font><br><br></td></tr>"; }
elseif($_GET['err']=="4") { echo "<tr><td align=\"center\" colspan=\"2\"><font size=\"1\">Connexion Impossible</font><br><br></td></tr>"; }
elseif($_GET['err']=="5") { echo "<tr><td align=\"center\" colspan=\"2\"><font size=\"1\">Pseudo déjà enregistré sur $nickserv</font><br><br></td></tr>"; }
elseif($_GET['err']=="6") { echo "<tr><td align=\"center\" colspan=\"2\"><font size=\"1\">$nickserv est offline</font><br><br></td></tr>"; }
elseif($_GET['err']=="7") { echo "<tr><td align=\"center\" colspan=\"2\"><font size=\"1\">Pseudo en ligne sur le serveur</font><br><br></td></tr>"; }
elseif($_GET['err']=="8") { echo "<tr><td align=\"center\" colspan=\"2\"><font size=\"1\">Erreur lors de la connexion au serveur</font><br><br></td></tr>"; }
elseif($_GET['ok']=="1") { echo "<tr><td align=\"center\" colspan=\"2\"><font size=\"1\">Votre pseudo a bien été enregistré sur $nickserv</font><br><br></td></tr>"; }
echo"<tr><td align=\"right\">Votre Pseudo :  </td><td><input type=\"text\" name=\"pseudo\" size=\"30\" maxlength=\"20\"></td></tr>
<tr><td align=\"right\">Votre Mot de Passe :  </td><td><input type=\"text\" name=\"motpass\" size=\"30\" maxlength=\"10\"></td></tr>
<tr><td align=\"right\">Votre E-mail :  </td><td><input type=\"text\" name=\"email\" size=\"30\" maxlength=\"50\"></td></tr>
<tr><td align=\"right\" colspan=\"2\"><input type=\"submit\" value=\"Enregistrer\"></td></tr>
</table>
</form>
</body>
</html>";
 
?>

Bonjour ce script marche bien quand je le lance pour verifier si un pseudo est deja enregistré ou en ligne mais pour les enregistrements des pseudos ca ne marche pas du tout, il se connecte sur le serveur et au bout de 30 secondes il se deconnecte.

J'ai meme reduit le temps d'attente pour un enregistrement dans ma "services.conf" a 10 secondes, et a zero secondes pour lui permettre d'enregistrer un pseudo ca ne marche toujours pas.

Une idée pourquoi ca ne marche pas svp?
J'ai lu et relu le code ligne par ligne je ne vois rien d'anormal.

Merci, cela fait un moment que je cherche un simple script php pour permettre aux users de s'enregistrer via une interface web and je n'en trouve pas.

Pied de page des forums

Propulsé par FluxBB

413564 visites ( 244 aujourd'hui ) 3 visiteurs en ligne
Copyright © 2004 - 2013 IRCz