Concordance local/serveur

Répondre
BornToBe
le 02/09/2004 à 18:46
BornToBe
Ayant relativement avancé, j'ai voulu essayer le site sur le serveur, histoire d'avoir une vision plus réelle des réactions des algorythmes.
Or, lors du test de connexion à la partie admin, la seule réponse que j'ai est "Les variables ne sont pas déclarées.". Bien sûr tout fonctionnait en local. Je pense que vu l'expérience de certains, le problème a déjà été encontré; donc, qui qu'a une indication, sioou plaît?

BTBANovice
Nì heolas go haontìos
Sedilbur
le 02/09/2004 à 19:49
Sedilbur
Déjà si tu codes avec les variables globales à ON tu n'as plus à te poser des questions...c'est le problème!

si ce n'est pas le cas montre nous le code de la page qui pose problème...
BornToBe
le 03/09/2004 à 10:40
BornToBe
Euh...smiley C'est quoi les variables globales à "ON"??
Quoi qu'il en soit, voici la page login.php(qui suit la page connexion.html):
(Le code posté par ce membre étant trop long, il a été automatiquement inséré dans le wall. Pour le voir, veuiller clicker sur [lien=http://www.lephpfacile.com/wall/lire_wall.php?wall=1639]ce lien[/lien])


BTB
Nì heolas go haontìos
i M@N
le 03/09/2004 à 11:10
i M@N
Hello !

Le souci avec EasyPHP 1.7, c'est de coder en register_global à off.

Depuis PHP 4 les variables globales sont paramétrées à off par défaut dans le php.ini (C:\Program Files\EasyPHP1-7\apache\php.ini).

3 solutions :

1 - apprendre à coder à off, ce que j'ai fait, ça prends pas très longtemps et ça amène un peu plus de sécurité dans les scripts.

2 pages à lire pour ça :

http://www.phpteam.net/affiche.php?quoi=global1

http://www.phpdebutant.org/article113.php

2 - changer le php.ini : solution de fénéant qui devront refaire tous leurs scripts le jour où leur hébergeur passe à PHP 4.

3 - importer les variables : solution de fainéant aussi mais bon ...
<?php import_request_variables("GPC"); ?>

Enfin, ne pas oublier d'initialiser ses variables :

Avec POST :
<?  if (isset($_POST['var'])) $var = $_POST['var']; else $var = "";  ?>

pareil avec GET :
<?  if (isset($_GET['var'])) $var = $_GET['var']; else $var = "";  ?>


@+...

P.S : LA_GLOBULE on retrouve plus rien sans moteur de recherche ... j'avais déjà posté ça ... smiley
One Love, One Heart, One Unity.
BornToBe
le 03/09/2004 à 11:11
BornToBe
Ah OK, j'avais pas compris le truc; je n'avais pas encore lu le cours sur les variables globales...
Bon, je vais essayer de voir ça...smiley

BTB
Nì heolas go haontìos
BornToBe
le 03/09/2004 à 11:13
BornToBe
smiley Ah! J'avais pas vu ton post, Im@n, on a dû se croiser...
Merci beaucoup, je vais voir ça...

BTB
Nì heolas go haontìos
BornToBe
le 03/09/2004 à 17:37
BornToBe
Ouais bon mais j'ai tout lu, là, et il me semble que c'est déjà adapté, non? Tu as vu mon code ou pas? Il y a peut-être d'autres méthodes, mais normalement, tel que c'est, ça devrait marcher...
Pffff... Commence à en avoir marre...

BTB
Nì heolas go haontìos
moogli
le 03/09/2004 à 18:38
moogli
lu,

au vu de ton script sa parais normal qu'il te mette les variables ne sont pas déclaré (du moins la première fois).
enusite si ta page est complete comme sa je pige po smiley
sa sert a koi sa =>
<body bgcolor="#000000" text="#FF9900" link="#00CCFF"></body> smiley

Je doit conclure que cette page est 'appelée' en action d'un formulaire sur une autre page. Dans ce cas je te conseil de vérifer l'ortographe de tes variables, parce que la sa ma pas l'aire d'être un problème de regsiter global.

Pour le reste je dirais que pour tout ceux qui ont appris le php ici je pense qu'il code pour les registers global a off puisque la globule a orienté ces cours comme cela (ce qui n'est pas plus mal dans un sens).

@+
Il en faut peu pour être heureux !!!!!
i M@N
le 04/09/2004 à 09:34
i M@N
Hello !

Ouais bon mais j'ai tout lu, là, et il me semble que c'est déjà adapté, non? Tu as vu mon code ou pas? Il y a peut-être d'autres méthodes, mais normalement, tel que c'est, ça devrait marcher...


Bah relis ... si je te dis de déclarer tes variables issues de POST et de GET au début et de les initialiser c'est pas pour faire le malin, c'est par expérience.

Pour moi là ça va pas :
// Test de la définition des variables 
if (isset($_POST['login']) && isset($_POST['pwd']))
{


Déclare et initialise tes variables au début :
<?php 
// Définition de la session administrateur
$login_valide = "meuwa";
$pwd_valide = '80afd71231d85f5720a57e98d5ef6e18';
if (isset($_POST['login'])) $login = $_POST['login']; else $login = "";
if (isset($_POST['pwd'])) $pwd = $_POST['pwd']; else $pwd = "";

...

/* Vérification des informations du formulaire, à savoir si le pseudo saisi est bien un pseudo autorisé, de même pour le mot de passe */
if ($login_valide == $login && (md5($pwd)== $pwd_valide))
{

...

/* Enregistrement des paramètres de l'administrateur comme variables de session */
$_SESSION['login'] = $login;
$_SESSION['pwd'] = $pwd;

...


Essaye ça ... y'a pas d'autre méthode.
Et encore un truc ... ça "marche" pas, ça fonctionne.

@+...
One Love, One Heart, One Unity.
BornToBe
le 08/09/2004 à 16:04
BornToBe
Ok, merci Im@n, il n'y a plus de problème de ce côté-là...

Par contre, j'ai un problème de reconnaissance de ma base de données: pour les pages qui s'y connectent, je n'ai pour seule réponse que "No database selected". J'ai pourtant modifié
$base = mysql_connect ('...', '...', '...');
mysql_select_db ('...','...');

sachant que j'ai transformé ma base de données en fichier .sql, lequel est placé dans le répertoire dans lequel sont stockés mes fichiers sur le serveur; et dont le nom(sauf l'extention) est utilisé pour nommer la base de données dans la deuxième ligne de code ci-dessus.
Voilà, je crois avoir à peu près tout dit pour l'instant... Si quelqun a une idée, s'il vous plaît...

BTB
Nì heolas go haontìos
Répondre
LoadingChargement en cours