PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

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

#1 Re : MySQL, PostgreSQL, etc... » lien vers contenu d'une table » 22-06-2017 12:21:54

Salut,

dans ta boucle while, tu ajoutes un lien : <a href="detail-job.php?idjob=<?php echo"$id_unique_du_job_dans_la_bdd"; ?>">ce que tu veux écrire pour donner envie de cliquer</a>
et tu récupères l'ID dans la page 'detail-job.php' : $id_du_job_a_afficher_en_details = $_GET['idjob'];
puis requete : SELECT champ1, champ2... FROM ma_tbl_jobs WHERE id_unique_du_job_dans_la_bdd=$id_du_job_a_afficher_en_details

#2 Re : Forum Général PHP » Besoin d'aide » 08-06-2017 09:42:34

Salut,

déjà, il faut laisser PHP te donner les messages d'erreurs : ça te permettra de savoir si/où ça plante.
donc, éviter les messages d'erreur "maison", qui plus est avec JS smile

au tout début de ta page, ajouter :

error_reporting(E_ALL); ini_set('display_errors', 1);

ensuite, laisser les réponses d'erreur aussi, donc, modifier:

$bdd = new PDO('mysql:host=localhost;dbname=leTest;charset=utf8', 'root', 'root');
$bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); // ajouter la gestion des erreurs
 

ensuite, il faut jeter un coup d'oeil aux "PPS" -> Parametrized Prepared Statements

$sql = $ajout->prepare("INSERT INTO ARTICLE (contenu,titre) VALUES('".$_POST['contenu']."','".$_POST['titre']."')");

ça, c'est la fête du slip pour les injections SQL...

NE JAMAIS UTILISER des variables venant d'un utilisateur quel qu'il soit !!! Il faut les tester, puis ensuite les passer à la moulinette des PPS

après ça, cherche la signification des messages d'erreur, et vérifie aussi la console du DEV tools de ton navigateur.
ensuite, on en saura plus (et toi aussi smile) et on pourra avancer...

PS: un bon tuto (en anglais) PDO tutorial

#3 Re : MySQL, PostgreSQL, etc... » Comparer 2 dates et grouper » 07-05-2017 08:59:23

Salut,

Tu peux jeter un oeil sur AGGREGATE FUNCTION. Perso, je pense à quelque chose comme:

SELECT champ_a_prendre_en_compte, SUM(Prix) as TonTotal FROM ta_table GROUP BY champ_a_prendre_en_compte

#4 Re : Forum Général PHP » La version influence-t-elle l'affichage à l'écran? » 25-04-2017 07:44:37

Regarde les liens, lis, fais des recherches, essaie, pose des questions (plein), debug, recommence... smile
Et surtout, au début, des choses **simples** ! tu sépares tout ton code. Ex: une page d'inscription -> un formulaire avec 3 champs -> une page d'enregistrement -> une requete d'insertion -> une page d'identification -> une requete de selection/verification des données = beaucoup plus simple à comprendre, faire, et à débuger...

#5 Re : Forum Général PHP » La version influence-t-elle l'affichage à l'écran? » 25-04-2017 07:44:37

Se peut-il que les versions influencent l'affichage ?

PHP envoie une requête au serveur, qui lui renvoie une réponse : c'est "brut". A partir de là, c'est *TOI* qui décide de l'apparence que ça doit avoir, donc, la CSS influence fortement .

Est-ce que les versions influencent sensiblement le code ?

certes smile depuis PHP 5.5, mysql_* est déprécié (PHP doc) donc il est conseillé de travailler sur les PPS : Prepared Parameterized Statements. Tout ça permet de "nettoyer" les variables, et de se protéger des injections SQL au maximum. De plus, le code est plus leger, plus lisible, bref, que des avantages IMHO. Mais surtout, si les tutos sont (comme souvent) du grand n'imp', il faut prendre le temps de rechercher plus d'infos... Et **bien** faire depuis le début, en prenant le temps. Il ne sert à rien de vouloir afficher des trucs, sans comprendre. On a tous été content(e )s de voir notre premier affichage succéder à notre premier "parse error" ou "undefined index", mais si tu fais des tutos à l'arrache en te disant que la propreté et la sécurité du code viendront après : NON. Si tu n'as pas le temps maintenant, tu ne l'auras pas plus ensuite. "DO OR DO NOT ! There is no try..." (merci Yoda ^^)

#6 Re : Forum Général PHP » Parse error: syntax error, unexpected '$req' (T_VARIABLE) in » 16-04-2017 21:32:36

Alors (merci la coloration syntaxique de Notepad++ ^^) :

Notice: Undefined index: num on line 29

ça correspond à -> $ideleve=$data['num']; /* à priori, le champ 'num' n'existe pas ou ne renvoit rien */

Notice: Use of undefined constant mysql_fetch_array on line 88

ça correspond à -> $sql = SELECT * FROM `ELEVE``, document  where eleve.num = document.numeleve; /* encore une erreur de backtick / requete à mettre en " " */

Warning: Illegal string offset 'date' on line 90

ça correspond à -> echo $data['date'] /* pas de bras, pas de chocolat ! pas de requete, pas de loop -> pas de loop, pas de data ! pour les fans de "mission Cleopatre, revoir la scene avec "pas de pierre, pas de construction ! pas de construction, pas de palais ! pas de palais... pas de palais !" smile */

#7 Re : Forum Général PHP » Parse error: syntax error, unexpected '$req' (T_VARIABLE) in » 16-04-2017 21:32:36

Salut,

SELECT * FROM `ELEVE``, document  where eleve.num = document.numeleve;

double backtick + point-virgule + jointure bizarre ^^

en plus, tu n'as pas besoin de mettre des backticks autour des champs sauf si ... (voir doc)

Conseil : toujours ajouter  en haut de tes pages en pre-prod

error_reporting(E_ALL); ini_set('display_errors', 1);

Conseil² : mysql_* est déprécié depuis longtemps ! tu devrais regarder ceci -> PHP doc mysqli_* et PHP doc Prepared Parameterized Statements pour éviter les injections SQL

#8 Re : Défouloir » Who is ViKKKing ? » 30-03-2017 13:27:33

ouaip, ça roule... 65 heures de taf lundi/samedi, on a fait pire ! (même si c'était avec 20 ans de moins...)
je développe des petits trucs sympas, ça occupe wink
là, je bosse sur un système complet de gestion pour auto-école : gestion des formateurs, des plannings, des leçons, inscriptions, génération des échéanciers de paiement, des factures, fiches de suivi, rappel par mail ou SMS, et tout ce qui concerne la pédagogie et le financier... pour les élèves : espace privé, gestion du dossier, suivi pédagogique, booking online, paiement par CB...etc... que du bonheur smile

#9 Défouloir » Who is ViKKKing ? » 30-03-2017 13:27:33

ViKKKing
Réponses : 2

Salut la team !
Les plus anciens se souviendront de Qui-Gon, ou Yoda, ou même de ZeDude (parmi quelques pseudos que j'utilisais sur internet à l'époque...)
Ils se souviendront des loop et des foreach qu'on modérait à moooooort !
Ils se souviendront de Raf, Yves (le belge) et les autres... les premiers geeks à squatter sur PHPdeb' bien avant DTC ^^
Les premiers à se retrouver au moment des apéroPHP avec un magazine de code sous le bras, histoire de pas se louper...
Pour ceux qui m'auront reconnu, sachez que malgré le temps qui passe, je vous [ ... ] toujours autant ! big_smile
Pour les autres... ben, pas de bol ! wink

#10 Re : MySQL, PostgreSQL, etc... » déclarer un url » 29-03-2017 17:45:17

Salut,

$url = $data['url_a'];
$lieu = $data['lieu_a'];
$page = "<a href=\"$url\">$lieu</a>"; /* les single quotes ne lisent pas les $variables ou alors il faut faire $page = '<a href=" '.$url.' ">'.$lieu.'</a>'; mais c'est moins clair je trouve */

#11 Re : Forum Général PHP » Pb variable » 29-03-2017 12:58:00

Salut,

il n'y a ni formulaire pour passer les variables en POST, ni variables passées dans l'URL en GET...
donc, $villeNom = $_POST['ville_nom']; renverra... dans les méandres du web smile

Si le lien est <?php echo $cityID.' - '.$saveName ?><a href="index.php"> Détails :<?php $saveDetail ?></a>, là encore, aucune variable envoyée...
<?php echo $cityID.' - '.$saveName ?><a href="index.php?id=<?php echo"$cityID"; ?>"> Détails :<?php $saveDetail ?></a> et ensuite, on récupère $idCity = $_GET['id'];

SELECT * FROM city WHERE city_id=$idCity /* exemple */

mais POST est nettement préférable à GET (IMHO) et ensuite, il faut vérifier les vars qui sont passées *avant* de les utiliser pour des requêtes ! sinon, danger...

#12 Re : Forum Général PHP » aide formulaire de contact en php verif du textarea et redirrection. » 29-03-2017 12:31:58

Salut,

Au début, l'affichage du message est prévue *après* la redirection, donc, ça ne fonctionnera pas...
Si tu affiches le message et que tu veux ensuite faire une redirection, alors tu auras une erreur du genre : header already sent...
Pourquoi ne pas rediriger puis afficher sur la nouvelle page "merci, votre message a bien été envoyé" ?

Pied de page des forums

Propulsé par FluxBB