CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Enregistrement bdd

Pho3niX
Pho3niX
Niveau 8
03 mai 2003 à 21:34:39

Voilà mon problème:
J´ai fait un formulaire qui permet d´enregistrer des données dans ma bdd. Normal quoi ! ^^
Lorsque que je ne remplis aucune donnée, il m´affiche bien le message d´erreur comme quoi champ vide mais cela enregistre quand même dans la base, donc la table contient des infos vides...
Voici le code:
< ?
require ( "config.inc.php3");
$db = mysql_connect("$host","$user","$pwd") or die ( "erreur de connexion");
mysql_select_db("$base",$db) or die ( "erreur de connexion base");
$sql = " INSERT INTO Utilisateurs ( Pseudo,Passe,Email,Url) values(´$pseudo´,´$pass´,´$email´,´$url´);";
$result=mysql_query($sql) or die(´Erreur SQL ! <br>´.$sql.´<br>´.mysql_error());
if ( empty($pseudo) || empty($pass) || empty($email) || empty($url))
{
header ( "Location: . ./form.php3?err=1");
}
else
{
header ( "Location: . ./index.php3?ok=1");
}
mysql_close();
? >
Est-ce grave docteur ?
Eclairez-moi !

buz-l-orage
buz-l-orage
Niveau 10
03 mai 2003 à 21:43:45

je pige pas la, si tu mets des champs " not null" il ne devrai pas enregistrer si tu fais une requete d´enregistrement.
sinon, tu peux tjrs mettre un if(condition1&2....en les testants tous==null)(avec des strlen si necessaire) s´il renvoie true tu le fais sortir sans faire sinon tu enregistres..(enfin après ca depend si tes champs sont obligatoire etc...)
pa très clair dsl mais les zentil webhelper vont venir : )

jarose
jarose
Niveau 10
03 mai 2003 à 21:46:06

< ?
require ( "config.inc.php3");

function addUser ( $nick, $pass, $mail, $url) {
global $host, $user, $pwd, $base;
static $connect = false;

if ( ! $connect) {
$db = mysql_connect($host,$user,$pwd) or die ( "erreur de connexion");
mysql_select_db($base, $db) or die ( "erreur db");
}
$connect = true;

$sql = " INSERT INTO Utilisateurs ( Pseudo,Passe,Email,Url) values(´$nick´,´$pass´,´$mail´,´$url´);";
$insert = mysql_query($sql) or die(mysql_error());
}

if ( empty($pseudo) || empty($pass) || empty($email) || empty($url)) {
header ( " Location: . . /form.php3?err=1");
} else {
addUser($pseudo, $pass, $email, $url);
header ( " Location: . . /index.php3?ok=1");
}
? >

jarose
jarose
Niveau 10
03 mai 2003 à 21:49:50

buz-l-orage: ben c´est pas compliqué à comprendre, il enregistre avant la vérification...

buz-l-orage
buz-l-orage
Niveau 10
03 mai 2003 à 21:54:28

ah oui c vrai : /, mais le mieux aurai été d´ajouter les " not null" lors de la creation des champs de la base c un peu bete de tester maintenant enfin . .c possible aussi dc : ox

buz-l-orage
buz-l-orage
Niveau 10
03 mai 2003 à 21:59:57

sinon pdt ke j´y suis : )
est-ce plus rapide d´utiliser des fichiers txt ou des enregistrements BdD? --->j´ai fais une sorte de post commentaire ( pour page d´accueil) ou je stock les données ds des txt, et j´aimerai savoir si il est preferable de les stocker ss une BdD a la place - surtt au niveau de la vitesse en fait...
en gros mon truc c des boucles de rename avec un unlink et une nouvo fichiers a chaque nouvo post, et pour l´affichage c une boucle..

jarose
jarose
Niveau 10
03 mai 2003 à 22:40:39

une base de données comme SQL sera toujours plus rapide que ton code précompilé.

Tu peux toujours émuler une base de données, et crypter/compresser les données que tu enregistres, toujours en sauvegardant dans du texte, mais dans un seul fichier, c´est la class qui s´ocuppe d´ajouter/selectionner/etc. Là tu pourras déjà voir la différence, au niveau de la vitesse et du stockage.

Ton truc, faire un fichier pour chaque post c´est un peu bete. autant tout classer par catégories, et donc faire un seul fichier pour les posts.

< ?
function addComment ( $input) {
static $open = false;

if ( ! $open) {
$handle = fopen("post.txt", " w+");
if ( ! $handle) return false;

$open = true;

$output = preg_replace("/\r?\n/", " &", $input);

fwrite($handle, $output);
return true;
}

$new = addComment ( "Nouveau commentaire \n de test");
if ( ! $new) echo " Impossible d´ajouter";
else echo " comment ajoué";

? >

après pour lire les commentaires:

< ?
function commentRead($sort = " end") {
$lines = file("post.txt");

switch ( $sort) {
case " index": $output = array_reverse($lines);
break;
case " end":
default: $output = $lines;
}
return $output;
}

$list = commentRead("index"); // du premier au dernier

for($i = 0; $i < = ( count($list) - 1); $i++)
{
echo $list[ $i ]; // affiche le commentaire
}
? >

de rien, je m´amuse ; )

buz-l-orage
buz-l-orage
Niveau 10
03 mai 2003 à 23:01:49

merci je pense dc ke je finirai par passé sur BdD : )
sinon, pour voir a peu près ce que ca donne avec des txt . ..
http://membres.lycos.fr/zzenevroze/exprimez5/index.php3
je debute en php donc . ..indulgence : )

sinon, juste pour etre sur les fonctions que je ne connais pa, count(var..) pour compter le nombre d´element ds un tableau ( ?)
heu...ah bah le file apparement c ce ke je cherchais , il contient les lignes d´un fichier ss forme de tableau apparement , et c pour ca ke jutilisais plusieur txt au lieu d´un seul..c plus simple avec file ( enfin surtt plus rapide, un seul fichier a ouvrir fermer...)
par contre preg_replace j´ai un peu de mal...si qqu´un pouvais m´eclairer, j´ai beau lire l´explication sur un site j´ai un peu de mal . .

ah non, ca va finalement j´ai a peu près pigé sur un exemple concret 1 string, avec 2tableau de string..j´ai pigé : )

en tout cas, merci beaucoup jarose : )

Spyke88
Spyke88
Niveau 10
03 mai 2003 à 23:04:18

Personne connais un site qui vous crée des design que l´on paye avec alopass ?

Ou vous ne sauriez pas m´explqiuez comment faire avec photoshop pasque meme les tutoriaux, j´y pige rien !

jarose
jarose
Niveau 10
03 mai 2003 à 23:42:39

buz-l-orage:

count() compte le nombre d´éléments d´un tableau

file() retourne array var ( chaque lignes est un élément, c´est pour ça qu´il faut remplacer \n et \r avant l´ajout)

- preg_replace("/\r?\n/", " &", $input);

=> preg_replace remplace \r, \n ou \r\n par &

" par contre preg_replace j´ai un peu de mal...si qqu´un pouvais m´eclairer, j´ai beau lire l´explication sur un site j´ai un peu de mal"

c´est une expression regulière perl, laisses tomber pour l´instant si tu débutes ; )

" ah non, ca va finalement j´ai a peu près pigé sur un exemple concret 1 string, avec 2tableau de string..j´ai pigé : ) "

hu ? !?

buz-l-orage
buz-l-orage
Niveau 10
04 mai 2003 à 00:03:48

bah en fait sur le lien suivant il y a un exemple assez concret de lutilisation preg_replace avec la phrase en anglais au sujet de l´ours : )
je ne dis pa pouvoir lutiliser mais pour a peu près comprendre ca va : )

http://dev.nexen.net/docs/php/annotee/function.preg-replace.php?lien=

d´ailleurs ce site est très bien : ) enfin tu dois connaitre c le 1er qd tu tapes php sur google lol

jarose
jarose
Niveau 10
04 mai 2003 à 00:07:05

oui, c´est une documentation php officieuse, mais je préfères fr.php.net, la documentation est mieux structuré, et c´est LE site officiel ; )

Pho3niX
Pho3niX
Niveau 8
04 mai 2003 à 09:51:37

Merci jarose ca marche impec ; )

jarose
jarose
Niveau 10
04 mai 2003 à 13:49:11

no prob : )

Pho3niX
Pho3niX
Niveau 8
05 mai 2003 à 16:50:25

Nouveau petit problème qui concerne les sessions cette fois ci:

    • Message d´erreur:

Warning: Cannot send session cache limiter - headers already sent ( output started at c:\program files\easyphp\www\admin\index.php3:14) in c:\program files\easyphp\www\admin\index.php3 on line 33

    • verif.php3:

< ?
session_start();
require ( "config.inc.php3");
$db = mysql_connect("$host","$user","$pwd") or die ( "erreur de connexion");
mysql_select_db("$base",$db) or die ( "erreur de connexion base");
$sql="select * from Utilisateurs where Pseudo=´$login´ and Passe=´$password´";
$result=mysql_query($sql) or die(´Erreur SQL ! <br>´.$sql.´<br>´.mysql_error());
if ( mysql_num_rows($result)>0)
{
session_register("login");
header ( "Location: index.php3");
}
else
{
header ( "Location: . ./index.php3?err=1");
}
mysql_close();
? >
J´ai bien placé le session_start en 1er mais rien n´y fait ! : (

captain_torche
captain_torche
Niveau 10
05 mai 2003 à 16:53:49

Headers already sent, c´est que le php gère un affchage ( je pense que c´est avant le session_register)
Essaye d´enlever les " or die"

Pho3niX
Pho3niX
Niveau 8
05 mai 2003 à 16:54:12

Erf non lol je me suis gourré mais j´ai su corriger ma faute : )
Bougre d´âne que tu es ! ^^

jarose
jarose
Niveau 10
05 mai 2003 à 19:46:51

si à chaques notices sur un source de 10 lignes, tu postes ici, on a pas finit...

Pho3niX
Pho3niX
Niveau 8
06 mai 2003 à 19:20:07

Tu as raison. Je crois que j´exagère un peu...
J´espère que ma conduite ne te déplaise et que je réussirai à me faire pardonner.
Sur ce
@+

Saezndaree
Saezndaree
Niveau 10
06 mai 2003 à 19:26:01

Trop tard! Sois maudit à jamais, toi, ta descendance et ton poisson rouge ! ... ; -)

Sous forums
  • Aide à l'achat Mac
  • Macintosh
  • Création de Jeux
  • Programmation
  • Création de sites web
  • Linux
  • Internet
  • Steam Deck
  • Hardware
La vidéo du moment