Création compte avec un .txt

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Création compte avec un .txt

Re: Création compte avec un .txt

par moogli » 09 févr. 2012, 14:22

tout est possible tous est réalisable, je ne vois en quoi se serait plus simple en java qu'en php, mais bon si tu préfère vas y :)

Quelque soit le langage tu aura les mêmes questions que celle que j'ai mis en dessous, a savoir : ce que peux prendre le soft en entrée, et la ben c'est pas une question de langage :mrgreen:

@+

Re: Création compte avec un .txt

par silvere » 08 févr. 2012, 13:02

C'est un peu trop compliquer pour moi cela...
Ce que je voulais faire en php est possible en java ?

Re: Création compte avec un .txt

par moogli » 07 févr. 2012, 09:57

Il faut voir quel format ton logiciel peux prendre en compte, si par exemple il accepte le CSV il existe des fonctions simples et efficace qui pourrait t'aider.

Par contre pour ce qui est de la recherche un SGBD est une bonne solution parce que c'est prévu pour :) .

Tu n'est pas obligé d'utiliser mysql (par exemple), il existe la base de données SQLITE (embarquée avec php5) qui peux te permettre de faire la chose simplement.

et il est possible de créer un fichier conforme a ce qu'attend le soft à partir du sgbd.

Après faut que soit certain de ce que ton soft demande en entrée.

@+

Re: Création compte avec un .txt

par silvere » 06 févr. 2012, 18:01

Mon but est de faire une enregistrement pour pouvoir se connecter via mon logiciel.
Je sais pas si avec une base de données, je pourrais récupérer les informations avec mon logiciel.

Re: Création compte avec un .txt

par Mazarini » 06 févr. 2012, 15:52

La gestion de données via des fichiers à plat me semble plutôt complexe, même pour quelqu'un maitrisant la programmation. Il me semble beaucoup plus simple d'utiliser une base de données.
Il y a une raison de ne pas utiliser de base de données pour faire cela ?

Re: Création compte avec un .txt

par moogli » 06 févr. 2012, 15:11

Il y a donc bien le saut de ligne ;)

Cela faut partis des problème lorsque l'on utilise les fichiers plats.
La solution peux être http://www.php.net/trim.

L'utilisation d'un objet serialisé serait peux être une solution plus simple au final (sac si tu doit partager le fichier vers une appli qui ne connais pas la serialisation.


@+

Re: Création compte avec un .txt

par silvere » 05 févr. 2012, 10:29

Oui, mon tableau contenait :

Code : Tout sélectionner

silvere silvere
et j'ai obtenu ;
array(2) { [0]=> string(9) "silvere " [1]=> string(9) "silvere " }

Re: Création compte avec un .txt

par moogli » 05 févr. 2012, 10:15

Salut,

Ajouté un var_dump sur le tableau retour du fichier tu devrais y voir le retour de ligne ?


@+

Re: Création compte avec un .txt

par silvere » 04 févr. 2012, 17:21

Ha oui mais je comprend toujours pas avec ce code :
<?php

$nomdecompte = $_POST['nomdecompte'];
$motdepasse = $_POST['motdepasse'];
if(empty($nomdecompte))
{
print("<center>Le Nom de compte est vide !</center>");
exit();
}
if(empty($motdepasse))
{
print("<center>Le Mot de passe est vide !</center>");
exit();
}

$comptes = file('Liste des comptes.txt');
if (in_array($nomdecompte, $comptes)) {
print("<center> Impossible de créé ce comte </center>");
}else{
$fichier1 = fopen('Licences.txt', 'a');
fputs($fichier1,"[$nomdecompte]\r\n");
fputs($fichier1,"mot de passe=$motdepasse\r\n");
fclose($fichier1);

$fichier2 = fopen('Liste des comptes.txt', 'a');
fputs($fichier2,"$nomdecompte\r\n");
fclose($fichier2);


print("<center>Le compte a bien été créé :");
print("<center> Nom de compte : $nomdecompte </center>");
print("<center> Mot de passe : $motdepasse </center>");
}


?>
J'arrive a créé plusieurs fois le même compte.

Re: Création compte avec un .txt

par moogli » 04 févr. 2012, 16:31

inverse compte et nomdecompte ^^

a tu regardé la doc de la fonction in_array() ? tu aurais trouver la solution j'ai inversé l'ordre des arguments ;)


@+

Re: Création compte avec un .txt

par silvere » 03 févr. 2012, 19:48

Merci, mais avec ceci :
<?php

$nomdecompte = $_POST['nomdecompte'];
$motdepasse = $_POST['motdepasse'];
if(empty($nomdecompte))
{
print("<center>Le Nom de compte est vide !</center>");
exit();
} 
if(empty($motdepasse))
{
print("<center>Le Mot de passe est vide !</center>");
exit();
} 

$comptes = file('Liste des comptes.txt');
if (in_array($comptes, $nomdecompte)) {
$fichier1 = fopen('Licences.txt', 'a');
fputs($fichier1,"[$nomdecompte]\r\n");
fputs($fichier1,"mot de passe=$motdepasse\r\n");
fclose($fichier1);

$fichier2 = fopen('Liste des comptes.txt', 'a');
fputs($fichier2,"$nomdecompte\r\n");
fclose($fichier2);


print("<center>Le compte a bien été créé :");
print("<center> Nom de compte : $nomdecompte </center>");
print("<center> Mot de passe : $motdepasse </center>");
}else{
print("<center> Impossible de créé ce comte </center>");
}


?> 
J’obtiens
Warning: in_array() expects parameter 2 to be array, string given in /var/www/www.mon-domen.fr/public_html/enregistrement2.php on line 17
Impossible de créé ce comte

Re: Création compte avec un .txt

par moogli » 02 févr. 2012, 23:46

$comptes = file('fichier compte.txt');
if (in_array($comptes, $lepseudosaisis)) {
//ok
}

etc etc

@+

Re: Création compte avec un .txt

par silvere » 02 févr. 2012, 23:39

Oui, au départ je met des fichier vides, pour la fonction je l'avais déjà vu mais comme je vien de commencer le php il y a quelque jours je n'y arrive vraiment pas.

Re: Création compte avec un .txt

par moogli » 02 févr. 2012, 23:28

salut,

a tu bien un pseudo par ligne ?

Si oui tu peux utiliser la fonction file pour avoir une tableau et utiliser la fonction in_array();

Pour l'insertion tu peux utiliser file_puts_contents (avec le flag append) pour l'insertion dans le fichier.


@+

Création compte avec un .txt

par silvere » 02 févr. 2012, 23:16

Bonjour,
J'aimerais faire un système de création de compte qui demande le nom de compte et le mot de passe, vérifie si ce nom de compte existe et sinon écrite le nom de compte et le mot de passe. J'ai donc fait sa :
enregistrement.php :
<html><body>
<br><br><br><br><br>
<form method="post" action="enregistrement2.php">
<center>Nom de compte : <input type="text" name="nomdecompte" size="12"><br></center>
<center>Mot de passe : <input type="text" name="motdepasse" size="12"><br></center>
<center><input type="submit" value="Créé le compte"></center>
</form></body></html>
enregistrement2.php :
<?php

$nomdecompte = $_POST['nomdecompte'];
$motdepasse = $_POST['motdepasse'];
if(empty($nomdecompte))
{
print("<center>Le Nom de compte est vide !</center>");
exit();
} 
if(empty($motdepasse))
{
print("<center>Le Mot de passe est vide !</center>");
exit();
} 



$lines = file('Liste des comptes.txt');

foreach ($lines as $lineNumber => $lineContent)

{ 
if($nomdecompte == $lineContent){
print("<center>Imposible de créé ce compte</center>");
exit(0);
}
}

$fichier1 = fopen('Licences.txt', 'a+');
fputs($fichier1,"[$nomdecompte]\r\n");
fputs($fichier1,"mot de passe=$motdepasse\r\n");
fclose($fichier1);

$fichier2 = fopen('Liste des comptes.txt', 'a+');
fputs($fichier2,"$nomdecompte\r\n");
fclose($fichier2);


print("<center>Le compte a bien été créé :");
print("<center> Nom de compte : $nomdecompte </center>");
print("<center> Mot de passe : $motdepasse </center>");


?> 
Mais j'arrive a créé plusieurs foi le même compte
Merci d'avance