niconicochan

Inscris le 22/12/2013 à 10:16
  • Nombre de sujets
    9
  • Nombre de messages
    49
  • Nombre de commentaires
    Aucun
  • Nombre de news
    Aucune
  • Niveau en PHP
    Débutant

Ses derniers sujets sur les forums

niconicochan
le 21/07/2014 à 18:22
L'utilisation des expressions régulières.
A la fin du cours sur les expressions régulières, il est écrit:

pourquoi ne pas aller faire un tour du côté de la documentation, afin de voir avec quelles fonctions s'utilisent ces précieuses expressions régulières ?

C'est exactement ce dont j'ai besoin, quelqu'un peut m'indiquer où ça se trouve sur le forum?
Je n'arrive pas à trouver la documentation.

Je souhaiterais utiliser ces expressions pour la validation d'un formulaire.
Je me demande, une fois les expressions régulières apprises,
comment les utiliser non seulement de manière à indiquer pourquoi un utilisateur n'a pas
tapé comme il faut lorsque c'est le cas, mais aussi comment l'inviter à retaper le contenu
des champs vidés (comment vider les champs et comment inviter l'utilisateur à retaper
du contenu?) et comment diriger l'utilisateur vers une nouvelle page (session) une fois le formulaire validé correctement.

Enfin, si vous pouvez encore répondre, comment faire pour que sur ma page de formulaire
ce soient des points noirs qui apparaissent dans les champs lorsque l'utilisateur
rentre des caractères.
niconicochan
le 03/06/2014 à 17:34
Caractères bizarres dans phpmyadmin.
Bonjour,

J'ai fait tous les réglages en UTF-8 nécessaires pour manipuler des données
écrites avec des accents et des caractères de langues étrangères.

Je permets aux utilisateurs de rentrer des informations dans mon SGBD via un formulaire
et affiche sur une autre page les données déjà rentrées dans mon SGBD.
Les données rentrées dans mon SGBD sont transformés en signes bizarres
dans ma table dans l'interface de phpmyadmin,
mais ces même données transformées en signes bizarres dans mon SGBD
réapparaissent normalement dans ma page d'affichage (qui récupère ces données),
même quand il y a des accents et des signes en langues étrangères.

Est-ce normal que dans mon SGBD (table dans interface de phpmyadmin)
et dans mon SGBD seulement mes caractères soient transformés en signes bizarres?
Je suis en fait assez étonné que des données que je vois comme transformées
dans phpmyadmin ressortent indemnes sur une page qui récupère ces mêmes données.
Pour info, j'ai essayé de voir ce que ça donne en enlevant le code de nettoyage
des données et ça ne change absolument rien.
niconicochan
le 26/05/2014 à 18:26
Accents transformés en cours de route.
Bonjour,

J'ai une page de formulaire et une page de traitement de formulaire.
Lorsque en tant qu'utilisateur, j'envoie des données dans ma base de données,
les accents ne sont pas convertis.

Pour résoudre le problème, j'ai:

- ajouté dans chacune des en-têtes de mes deux pages (formulaire et traitement de formulaire):
<meta http-equiv="Content-type" content="text/html; charset=UTF-8/>
J'ai également vérifié l'activation de l'encodage UTF-8 dans Dreamweaver
(Edition > Préférences > Nouveau document > Codage par défaut)

-ajouté en plus dans la page de traitement de formulaire:
mysqli_query("SET NAMES 'utf8'");

-choisi l'Interclassement utf8_general_ci pour tous mes champs dans l'interface de phpmyadmin

-dans le document httpd.conf, j'ai rajouté la ligne
AddDefaultCharset UTF-8 (je ne avais pas trop où la mettre, je l'ai mis tout en haut de la page)

Les accents rentrés dans le formulaire deviennent des signes bizarres une fois arrivés dans ma table sur phpmyadmin.

Quelqu'un pourra t-il m'aider?
niconicochan
le 23/04/2014 à 14:23
Problème accès utilisateur.
Bonjour,

J'ai des difficultés à manipuler des bases de données sur un serveur local.
J'arrive à le faire avec un serveur distant mais pour moi le serveur local averc l'interface
phpmyadmin en local c'est encore une bête noire.

Voilà ce que m'envoit le navigateur quand j'essaye d'envoyer des informations de formulaire
dans une base de données sur mon serveur local.

Warning: mysqli_connect(): (HY000/1045): Access denied for user 'root'@'localhost' (using password: YES) in C:\xampp\htdocs\monsite\mapage.php on line 19
Connexion au serveur impossible.

Mes lignes de code sont toutes bonnes je pense, car elles marchent sur un serveur distant,
sauf donc peut-être les quatre variables:

$utilisateur=" ";
$serveur=" ";
$motdepasse=" ";
$basedonnees=" ";

A nom d'utilisateur, je ne sais pas s'il faut écrire localhost ou 127.0.0.1
D'une part, on voit ses pages dans le navigateur en commençant par écrire
http://localhost/... ce qui me ferait plutôt pencher par localhost, et d'autre
par sur phpmyadmin en local je trouve écrit en haut à gauche Serveur: 127.0.0.1
ce qui me ferait plutôt pencher pour 127.0.0.1
Ca c'est le premier point qui me pose un vrai soucis de compréhension.

Pour le mot de passe ça va, sur phpmyadmin en local j'arrive à mettre, à choisir et à enlever un
mot de passe. Cette variable est liée au nom d'utilisateur donc si pour le premier point
ci-dessus je peux avoir une réponse alors je sais ce que je dois écrire pour cette variable.

Le nom que j'ai donné à ma base de données, lui, apparaît sur mon interface phpmyadmin en local
dont ça ça va aussi.

Enfin pour la variable utilisateur je ne comprend presque rien.
Sur mon interface de phpmyadmin en local, dans l'onglet utilisateur je vois la liste de tous
les utilisateurs.
Je ne me souviens pourtant pas en avoir créé un seul et j'ai pourtant déjà une liste.
Je crois que root est crée par défaut. C'est le serveur (Client) 127.0.0.1
Il a un mot de passe que je lui ai donné et il a tous les privilèges (ALL PRIVILEGES)
mais j'ai aussi un autre utilisateur qui s'appelle root lui-aussi qui est le serveur (Client) localhost.
Lui, il n'a pas de mot de passe car je ne lui en ai pas donné et il a aussi tous les privilèges
(ALL PRIVILEGES), alors pourquoi le navigateur retourne access denied?
Il y a vraiment quelque chose que je ne comprends pas.
J'ai même un utilisateur qui s'appelle N'importe lequel ???

De manière plus générale, je ne comprends pas cette histoire d'utilisateurs.
Tous ces utilisateurs inscrits, existants ou non mais en tous cas inscrits, ont accès à l'interface de phpmyadmin en local depuis mon poste, donc depuis mon ordinateur et depuis
mon ordinateur seulement.
Et moi, je peux depuis mon ordinateur, simplement en rentrant dans phpmyadmin en local,
gérer tous les privilèges et tous les paramètres de tous les utilisateurs.
Donc eux ils le peuvent aussi. Je ne vois donc pas l'intérêt du truc.
Bien sûr, j'imagine que tout a été très bien conçu et que c'est moi qui ne comprends pas.

C'est d'ailleurs justement pour ça que je demande votre aide.
J'ai vraiment besoin de comprendre.

Dernier point, si vous acceptez de bien vouloir m'aider jusqu'au bout
(ce qui me permettra aussi de rendre l'ascenseur à d'autres plus tard),
dans l'onglet utilisateur je ne comprends pas la colonne Client.
Pour le cas d'un serveur distant (je pars de ce que je comprends),
j'ai un navigateur, le client, qui envoit des requêtes à un serveur distant,
qui lui-même renvoit des pages demandées au navigateur qui lui va alors les afficher.
Pour ce qui est des lignes de php, elles seront envoyées à l'interpréteur de php
depuis le serveur distant qui renverra le html sous instruction echo au navigateur ou bien qui enverra
les scripts php à une SGBD qui elle-même repassera par l'interpéteur
de php (si je ne me trompe pas) pour ensuite permettre le retour au navigateur.
Lorsque je travaille en local où se trouve l'interpéteur php du serveur local?
En local ou à distance?
Si sur phpmyadmin je suis sur mon serveur local, donc il s'agit bien du client,
le navigateur est-il le logiciel utilisé par ce client?
Est-ce que le navigateur est un logiciel qui fait partie du client?
niconicochan
le 22/04/2014 à 15:41
Formulaire avec réaffichage des valeurs saisies dans les champs.
Bonjour,

Je construis un formulaire de saisies en mettant dans chaque champs pour value:

value="<?php echo htmlentities(@$_POST['champs1']) ?>"
value="<?php echo htmlentities(@$_POST['champs2']) ?>"
value="<?php echo htmlentities(@$_POST['champs3']) ?>"
...
le but étant bien sûr de laisser telles quelles les données saisies dans le formulaire
suite à validation au cas où un utilisateur, pour une raison ou pour une autre, devait
revenir sur la feuille de saisie pour reprendre ce qui a été saisi (je veux lui
éviter d'avoir à tout ressaisir).
En local, le navigateur affiche la page avec dans chaque champs mon code
écrit en texte littéral (le visiteur voit donc dans un champs <?php echo htmlentities(@$_POST['champs1']) ?>
on dirait que le navigateur n'a pas conscience que c'est du code php et non du texte littéral.
J'ai pourtant bien pensé à changer l'extension de mon fichier en .html en .php
Le navigateur a donc bien l'information qu'il s'agit d'une page php.
Il ne devrait pas y avoir du code php dans mes balises <?php ... ?>
affiché comme du texte littéral dans mes champs.
Les champs devraient être vides afin que les utilisateurs puissent faire leurs saisies.

Qu'en pensez-vous?
Quelqu'un pourrait m'aider?
niconicochan
le 14/03/2014 à 19:36
Problème sur création table en SQL.
Bonjour,

J'essaye ainsi de créer une table en SQL à partir de phpmyadmin:

CREATE TABLE 'inscription' (
nomutilisateur char(10) NOT NULL utf8_general_ci AUTO_INCREMENT PRIMARY KEY,
motdepasse char(8) NOT NULL utf8_general_ci,
firmeouinon text(3) NOT NULL binary utf8_general_ci,
nomfamille text(25) NOT NULL utf8_general_ci,
prenom text(25) NOT NULL utf8_general_ci,
sexe text(5) utf8_general_ci,
age char(3) utf8_general_ci,
adresseemail varchar(35) NOT NULL utf8_general_ci,
numerotelephone varchar(15) utf8_general_ci UNSIGNED,
numeromobile varchar(15) utf8_general_ci UNSIGNED,
numerorue char(3) NOT NULL utf8_general_ci,
nomrue text(100) NOT NULL utf8_general_ci UNSIGNED,
codepostal bigint(15) NOT NULL utf8_general_ci,
ville text(25) NOT NULL utf8_general_ci UNSIGNED,
pays text(25) NOT NULL default'France' utf8_general_ci,
);

On me répond:

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''inscription' ( login char(10) NOT NULL utf8_general_ci AUTO_INCREMENT PRIMARY' at line 1

De fait je n'arrive pas à créer ma table.

Quelqu'un peut m'aider?
niconicochan
le 06/03/2014 à 14:45
Choix d'installation
Bonjour,

Je voudrais savoir quelle différence y-a t'il entre installer un package comme WAMPP ou installer à la main Apache, PHP et MySQL (donc chaque élément de manière séparée).

Moi, j'ai déjà installer WAMPP pour m'entraîner et ça marche très bien mais je n'ai pas encore fait mon site.

Est-ce que vous me conseilleriez plus une façon de procéder par rapport à l'autre (package d'installation ou installation manuelle) et pourquoi?
En d'autre termes, quels sont en principes les éléments de décisions des programmeurs sur ce point?
niconicochan
le 27/01/2014 à 10:10
php.ini-developement et php.ini-production
Bonjour,

Dans mon fichier WAMPP, lorsque je recherche php.ini
je trouve deux fichiers: php.ini-developement et php.ini-production

Comme je suis en local, ça paraît plus logique d'utiliser php.ini-developement
pour changer mes paramètres php.ini en local (car site de développement).

Mais quelle différence y-at-il alors entre php.ini-developement et php.ini-production,
et à quoi sert le fichier php.ini-production?

Niconicochan.
niconicochan
le 22/12/2013 à 10:26
Ranger données formulaire dans base données.
Problème pour insérer données formulaire dans base de données.

Bonjour,
J'ai besoin d'aide pour résolution d'un problème, apparemment au niveau de la fonction msqli_query puisqu'il ressort le texte "Exécution de la requête impossible".
J'ai une page de formulaire et une page de traitement de formulaire (j'ai appelé cette dernière RangFormEnCoursTrainb.php).
J'ai remplacé tous mes codes par confidentiel, sachant qu'ils marchent bien puisque j'arrive à envoyer sur mon site des données se trouvant dans mes bases de données.
--------------------------
Page de formulaire
--------------------------

<?php
echo "<html>"
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.
dtd">
<head>
<meta http-equiv="Content-Type" content="text/html;
charset=iso-8859-1" />
</head>

<body>
<h1>Quel animal voulez-vous mettre en vente?<h1>
<p style:'text-align: right; font-weight: bold'>
Remplissez les champs ci-dessous en présisant
bien le prix de vente que vous estimez.<br>
Cliquez sur valider.<br>
Nous nous occupons alors de la vente de l'animal qui sera<br>
présenté tel que vous nous le décrivez.<br>
<?php

echo "<form action='RangFormEnCoursTrainb.php' method='POST'><table>\n";

$tableau = array ( "animalnom" => "Nom de l'animal:",
"animaltype" => "Type de l'animal:",
"animaldesc" => "Description de l'animal:",
"animalprix" => "Prix de l'animal:");

foreach($tableau as $champ => $presentation)
{
echo "<tr>
<td style='text-align: right; font-weight: bold'>$presentation<td>
<td><input type='text' name='$champ' size='255' maxlength='255'><br></td>
</tr>";
}
echo "<tr>
<td colspan='2' style='text-align: center'>
<input type='submit' value='Validez la saisie'>;
</td></tr></table></form>";
?>
</body>
</html>

---------------------------------------------
Page de traitement de formulaire
---------------------------------------------

<html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.
dtd">
<head>
<meta http-equiv="Content-Type" content="text/html;
charset=iso-8859-1" />
</head>

<body>

<?php

$tableau = array ( "animalnom" => "Nom de l'animal:",
"animaltype" => "Type de l'animal:",
"animaldesc" => "Description de l'animal:",
"animalprix" => "Prix de l'animal:");


foreach($_POST as $champ => $valPresentation)
{
if($valPresentation =="")
{
$champVide[] = $champ;
}
elseif(!ereg("^[A-Za-z0-9' -]{1,255}$",$valPresentation))
{
$mauvaisFormat[] = $champ;
}
}
/* fin de la boucle for */

if(@sizeof($champVide) > 0 or @sizeof($mauvaisFormat) > 0)
{
/* l'accolade qui s'ouvre ci-dessus se ferme juste avant le else */
if(@sizeof($champVide) > 0)
{
echo "Un champ au moins est vide. Vous devez remplir:<br>";
foreach($champVide as $valPresentation)
{
echo "&nsbp;&nsbp;&nsbp;{$tableau[$valPresentation]}<br>";
}
}
if(@sizeof($mauvaisFormat) > 0)
{
echo "<b>Un champs contient au moins une donnée incorrecte. Corrigez:</b><br>";
foreach($mauvaisFormat as $valPresentation)
{
echo "&nsbp;&nsbp;&nsbp;{$tableau[$valPresentation]}<br>";
}
}
echo "<p><hr />";
echo "<h3>Saisissez les données manquantes.<h3>";
echo "<form action='RangFormEnCoursTrainb.php' method='POST'><table>";
foreach($tableau as $champ => $presentation)
{
$dataOK[$champ]=strip_tags(trim($_POST[$champ]));
echo "<tr>
<td style='text-align: right; font-weight: bold'>$presentation</td>
<td><input type='text' name='$champ' size='255' maxlength='255' value='$dataOK[$champ]'><br></td>
</tr>";
}
echo "<tr>
<td colspan='2' style='text-align: center'>
<input type='submit' value='Validez la saisie'>";
echo "</td></tr></table>
</form>";
exit();
}
else
{
$hôte="confidentiel";
$utilisateur="confidentiel";
$motPasse="confidentiel";
$nombase="confidentiel";

$connexion=mysqli_connect($hôte,$utilisateur,$motPasse)
or die ("Connexion au serveur impossible.");
$nombase=mysqli_select_db($connexion,$nombase)
or die ("Sélection de la base impossible");

$champsTous = array_keys($tableau);
foreach($champsTous as $champ)
{
$dataOK[$champ] = strip_tags(trim($_POST[$champ]));

$dataOK[$champ] = mysqli_real_escape_string
($connexion,$dataOK[$champ]);
}
$req="INSERT INTO Animal (animalnom, animaltype, animaldesc, animalprix)
VALUES('$dataOK[animalnom]','$dataOK[animaltype]', '$dataOK[animaldesc]',
'$dataOK[animalprix]')";
$query=mysqli_query($connexion,$req)
or die ("Exécution de la requête impossible.");
echo "<h4>Les données que vous avez saisies ont bien été enregistrées.</h4>";
}
?>
</body>
</html>

-----------------------------------------------------
Avec tous mes remerciements si vous
pouvez me donner un coup de main ^ ^

Nicolas.
LoadingChargement en cours