PHP|Débutant :: Forums

Advertisement

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

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

#1 Forum Général PHP » récupérer checkbox plus une autre valeur » 25-11-2018 11:26:18

debe
Réponses : 1

Bonjour,
je sais récupérer les valeurs de plusieurs checkbox d'un formulaire

  <INPUT type="checkbox" name="type[]" value="carottes">  carottes

<p>
<INPUT type="checkbox" name="type[]" value="poireaux">  poireaux
<p>

 

{
    foreach ($_POST['type'] as $ndpt) {
 
echo $ndpt.'<p>';
 
}

Mon problème, c'est que je voudrais aussi associer le contenu d'une liste déroulante

  <INPUT type="checkbox" name="type[]" value="carottes">  carottes
 <select name="nbre">
  <option value=" ">  </option>
  <option value="1"> 1</option>
  <option value="2"> 2</option>
</select> kg <p>
<INPUT type="checkbox" name="type[]" value="poireaux">  poireaux
 <select name="nbre">
  <option value=" ">  </option>
  <option value="1"> 1</option>
  <option value="2"> 2</option>
</select> kg <p>
 

et dans mon "foreach", si je fais echo $_POST['nbre']; cele ne fonctionne évidemment pas

je ne fais quand même pas une autre boucle dans la première ?

#2 MySQL, PostgreSQL, etc... » organisation table » 01-06-2017 08:28:04

debe
Réponses : 0

Bonjour,
dans une table, je rentre des données |id_video|titre|présentation|etc...
certaines vidéo sont en plusieurs parties, je voudrais donc lier deux id_video afin que lorsque l'on en lit une, la (les) autres s'affichent en dessous.

je suis un peu perdu sur ce que je dois faire

Créer une autre table qui s’appellerait lien avec comme champ id_lien / video1 / video2 mais dans ce cas, comment rechercher car la vidéo liée peut être dans les deux champs ?

select video1, video2 from lien where video1=$id_video or video2 = $idvideo;

je trouve cela bizarre.

#3 MySQL, PostgreSQL, etc... » renvoie champ d'une table si pas présent dans une autre » 22-12-2016 17:01:21

debe
Réponses : 0

Bonjour,
je vais essayer d'être clair smile

j'ai une table "information", une table "categories" et une table "lien_info_cat"

dans la table "lien_info_cat" j'ai id |id_info |id_cat

parfois, certaines infos ne sont pas dans la table car aucune catégorie n'a été associée

ce que je voudrais : sortir tous les titres de la table "information" qui ne sont pas de la catégorie 1 (donc, également ceux qui ne sont pas dans la table "lien_info_cat")

j'ai fais cela :


SELECT information.id_info AS id_info ,
information.titre AS titre
FROM information INNER JOIN lien_info_cat
WHERE (information.id_info = lien_info_cat.id_info OR lien_info_cat.id_info IS NULL )  && lien_info_cat.id_cat!=1
 

sans succès ...

#4 Re : Forum Général PHP » [Résolu] url rewriting ajouter .html ? » 13-06-2016 15:02:50

merci pour cette réponse. bien sur, suis-je c**, le \ était la barre d'échappement. je n'avais pas pensé au contenu dupliqué dans ce cas. Il faudrait donc faire une page spéciale. à voir si cela vaut le coup.

#5 Forum Général PHP » [Résolu] url rewriting ajouter .html ? » 13-06-2016 15:02:50

debe
Réponses : 2

Bonjour,

dans mon htaccess j'ai cette ligne qui fonctionne RewriteRule

 ^([A-Za-z-]+[A-Za-z-]+)-([0-9]+)\.html$ presentation.php?id=$2 [L]  

Toutefois, lorsque je regarde les logs des erreurs 404, j'ai des visites, notamment des crawler (bing et google ce matin) qui sont arrivés sur une page 404 avec une url sans le . devant html (ex: blablabla-42html ) et la, bien sûr ça ne fonctionne pas.

1) est-ce que je dois laisser tomber et ne pas me soucier de ce problème ?
2) est-ce que je dois le régler mais je ne sais pas comment. j'ai tenté

RewriteRule  ^([A-Za-z-]+[A-Za-z-]+)-([0-9]+)\html$ test.html [L]  

mais sans succès alors que avec le point, ce test fonctionne.

#6 Re : Forum Général PHP » changement dans php ini ? » 07-08-2015 14:15:08

j'ai trouvé l'erreur : 
$_SESSION['mavariable'] = $truc;
parfois, $truc n'existait pas, j'avais donc un message d'erreur et c'est ce message d'erreur qui s'affichait et bloquait !

j'ai donc déclaré mes variables avant $truc=''; et cela fonctionne

#7 Forum Général PHP » changement dans php ini ? » 07-08-2015 14:15:08

debe
Réponses : 1

Bonjour,
depuis une modification de wamp, j'ai un message bloquant sur une page qui n’apparaissait pas avant ce changement et qui ne se produit pas en production.

je suppose qu'il faut changer quelque chose dans le php.ini mais j'ai regardé et n'ai pas trouvé (en fait, j'ai eu un peu peur de toucher à cela)

mon erreur :
ma page test des variables et redirige en suite vers la page adéquat en fonction des résultats. l'erreur se produit si je crée des variables de session avant de mettre header('Location: valid.php');
message d'erreur : Warning: Cannot modify header information - headers already sent

Quel changement apporter dans mon php.ini si c'est bien à cela qu'il faut que je touche ?

#8 Re : MySQL, PostgreSQL, etc... » ressortir une seule fois un champ avec jointure » 07-09-2014 04:59:42

je vais essayer d'éclaicir :

une table


CREATE TABLE IF NOT EXISTS `type` (
`id_type` int(10) UNSIGNED NOT NULL,
  `type` varchar(150) NOT NULL
)
 
INSERT INTO `type` (`id_type`, `type`) VALUES
(1, 'Fiches d''inscription'),
(2, 'Les projets'),
(3, 'Vie associative'),
(4, 'Administratif'),
(5, 'Plaquette annuelle');
 

une deuxième table

CREATE TABLE IF NOT EXISTS `documents` (
`id_doc` int(10) UNSIGNED NOT NULL,
  `nom` varchar(200) NOT NULL,
  `id_type` tinyint(3) UNSIGNED NOT NULL,
  `nom_pdf` varchar(150) NOT NULL
)
 
INSERT INTO `documents` (`id_doc`, `nom`, `id_type`, `nom_pdf`) VALUES
(1, 'projet enfance', 3, 'mjc-enfance.pdf'),
(2, 'projet associatif', 3, 'mjc-1.pdf'),
(3, 'stut', 4, 'stat.pdf');

le rendu voulu :
vie associative :
[*]    projet enfance
    projet associatif[/*]


administratif :
    [*]statuts[/*]



Pour l'instant, ce que j'arrive a faire, c'est, avec inner join
vie associative :
    [*]projet enfance[/*]

vie associative :
    [*]projet associatif[/*]

administratif :
    [*]statuts[/*]

(le "titre" est répété à chaque fois, et je ne voudrais l'avoir qu'une seule fois

#9 Re : MySQL, PostgreSQL, etc... » ressortir une seule fois un champ avec jointure » 07-09-2014 04:59:42

ok, mais la, je ne récupère plus les documents.nom (et encore, il me faut aussi documents.id_doc + documents.presentation)

donc je vais bien afficher mes secteurs en titre, mais je n'aurais rien dessous ?

#10 MySQL, PostgreSQL, etc... » ressortir une seule fois un champ avec jointure » 07-09-2014 04:59:42

debe
Réponses : 6

Bonjour,
je n'arrive pas à bien formuler mon problème et donc a trouver des solutions sur internet.

J'ai deux tables
* une avec les types de documents (administratifs, fiches inscription, flyers ...)
* l'autre avec les documents PDF et le champ id_type

il peut y avoir plusieurs PDF avec un seul type.

je sais faire les requetes avec INNER JOIN mais il va ma ressortir à l'affichage

administratif
statuts de l'asso
adminstratif
autorisation xxx
administratif
demande de remboursement

etc...

or, je voudrais ne ressortir qu'une seule fois le champs type de la table secteur
par exemple
administratif
statuts de l'asso
autorisation xxx
demande de remboursement

Suis-je assez clair ?
j'ai tenté
SELECT DISTINCT secteur.secteur AS secteur, documents.nom AS nom
FROM secteur INNER JOIN documents
ON secteur.id_secteur = documents.id_secteur
ORDER BY secteur.secteur DESC

mais cela ne fonctionne pas

#11 HTML, xHTML CSS » déconnexion avec refresh » 15-08-2013 12:56:58

debe
Réponses : 1

bonjour,
j'ai une page qui s'affiche sur des écrans d'un hall d'accueil. l'info change régulièrement (je vais piocher dans une base de données).

ma page a dans le <head>
<META HTTP-EQUIV="Refresh" CONTENT="20; URL=http://www.mpt-ea.org/ecrans/index2.php">

cela fonctionne bien mais régulièrement (environ toutes les heures parfois moins) j'ai un message de déconnexion
la connexion a été reinitialisée
il faut alors cliquer sur réessayer : ce qui est pénible car les écrans sont autonomes.

j'ai essayé avec firefox et chrome => pareil
dans deux lieux différents = pareil

1) il y a-t-il une façon de faire qui éviterait cela ?
2) si pas moyen d'éviter, comment relancer le navigateur automatiquement toutes les X minutes par exemple ?

#13 Forum Général PHP » affichage flux rss » 19-12-2012 11:52:12

debe
Réponses : 2

bonjour,
sur ma page, j'affichais le flux RSS http://www.cyberacteurs.org/blog/feed/ grâce à magpierss

depuis quelques jours, impossible d'afficher ce flux, alors que j'arrive, avec le même code, a afficher d'autres flux

par exemple echo FeedParser("http://rss.lemonde.fr/c/205/f/3050/index.rss", 20);  fonctionne

mais echo FeedParser("http://www.cyberacteurs.org/blog/feed/index.php", 20);  n'affiche rien

#14 Re : Forum Général PHP » usurpation de session » 11-06-2012 08:51:42

merci JC pour ton aide claire et précise ... je vais refaire mon système prochainement.

mon soucis va être de garder mes inscrits, de faire la transition. mais ça, c'est mon pb.

#15 Re : Forum Général PHP » usurpation de session » 11-06-2012 08:51:42

merci beaucoup jc pour ce message très instructif. [petite précision, ce n'est pas par flemme que je code mal, mais par incompétence (bénévole autodidacte) ... ce qui n'excuse rien, j'en conviens smile  ]

en ce qui concerne ta réponse à mon pb :

Je vous conseille très fortement d'utiliser comme colonne a index unique celle du pseudo

mon pb (mon erreur !) a été dans ce cas de ne pas prévoir de pseudo mais d'utiliser l'email + mot de passe pour la reconnaissance.

mdp a déjà un index mais pas unique (et il m'est refusé de le faire) en effet, plusieurs personnes peuvent avoir le même mot de passe
email : déjà indexé aussi mais même problème

est-ce que je dois :
1) pour la connexion automatique (cookie) ne plus me servir du couple email + mdp mais du trio email+mdp+id pour plus de sureté ?
2) pour la connexion manuelle (champ mail et champ mot de passe). Comment m'en sortir ? (je sais , mauvaise conception mais je ne pensais pas que des données proches pouvaient se mélanger.)
      * en demandant un troisième champ (nom par exemple) lors de la connexion ? mais les inscrits vont râler, déjà qu'ils trouvent compliqué avec 2 smile
     * une page de confirmation avant validation connexion 'vous êtes bien $nom $prenom ? et bouton confirmer ou changer d'utilisateur ?

encore du boulot avant de quitter le statut de débutant ! merci JC pour ton éclairage

#16 Re : Forum Général PHP » usurpation de session » 11-06-2012 08:51:42

pour l'instant, j'ai cela

$mdp = mysql_real_escape_string($mdp);
$mdp = ereg_replace(' ', '', $mdp);
 if ($mdp=="")
   {
   echo '<font color="#FF0000">ATTENTION, votre mot de passe n\'a pas été renseigné</font><p></font><b>Veuillez renouveler l\'opération à l\'aide du formulaire ci-dessous</b><p>';
  require '../include/form_login.inc';
 exit();
   }

sur la page de login

sur la page de connexion automatique, c'est cela qui fait

if(empty($_SESSION['id_signataire']) && !empty($_COOKIE['mellog']) && !empty($_COOKIE['mdplog']) )

#17 Forum Général PHP » usurpation de session » 11-06-2012 08:51:42

debe
Réponses : 6

bonjour,

j'ai un soucis de connexion de session : certaines personnes m'ont contacté, impression d'écran à la clée, pour me dire qu'ils se retrouvaient connecté à la place d'un autre. Je ne comprends pas comment cela peut se produire.

j'ai deux système de connexion.
1) soit on se connecte à chaque fois

$mel = $_POST['mel'];
$mdp= $_POST['mdp'];
// apres test mel et mdp valide
$sqlinsc = "SELECT id FROM matable WHERE mel = '$mel' AND mdp !=''";
$reqinsc = mysql_query($sqlinsc)  or die('Erreur SQL !'.$sqlinsc.'<br>'.mysql_error().'<p><b>Afin de nous aider au maintient de ce site, merci d\'envoyer une copie de ce message à webmaster@cyberacteurs.org</b>');
$res = mysql_num_rows ($reqinsc);
if($res !='0')
{
 $_SESSION['id'] = $data['id_signataire'];
$_SESSION['nom'] = stripslashes($data['nom']);
$_SESSION['prenom'] = stripslashes($data['prenom']);
}

2) soit on est reconnus grâce à un cookie

if(empty($_SESSION['id_signataire']) && !empty($_COOKIE['mellog']) && !empty($_COOKIE['mdplog']) )
{
  $mellog= $_COOKIE['mellog'];
  $mdplog= $_COOKIE['mdplog']; 
 
  $sql = "SELECT * FROM matable WHERE mel = '$mellog' && mdp = '$mdplog' && codevalid = 'ok'";
  $req = mysql_query($sql);
  $data = mysql_fetch_assoc ($req);
  $result = mysql_num_rows ($req);
if($result !=0)
      {
 $_SESSION['id'] = $data['id_signataire'];
$_SESSION['nom'] = stripslashes($data['nom']);
$_SESSION['prenom'] = stripslashes($data['prenom']);               

}

puis sur chacune des pages, j'ai

ini_set('session.use_cookies', '1');
ini_set('session.use_only_cookies', '1');
ini_set('session.use_trans_sid', '0');
ini_set('session.name', 'PHPSESSID');
ini_set('session.auto_start', '0');
ini_set('session.cookie_lifetime', '0');
ini_set('session.cookie_httponly', '0');  
ini_set("url_rewriter.tags","");
setcookie('testcookie','ok',time()+3600*24*1,'/');
session_start();

cela est très embêtant car certaines personnes me contact car quelqu'un a signé les pétitions avec leur nom

#18 Re : MySQL, PostgreSQL, etc... » compter avec conditions » 04-04-2012 10:50:16

ok, merci. je fais comme ça

affaire résolu ... si tout marche bien

#19 Re : MySQL, PostgreSQL, etc... » compter avec conditions » 04-04-2012 10:50:16

ok !! mais alors, comment j'aurais du faire ma table  : en faire 3 ?
en fait, j'ai nom/prenom/ etc .. puis si la personne est inscrite sur la liste 1, elle a 1 dans la champ pa_1

sachant qu'elle peut être inscrite sur plusieurs listes

est-ce que j'aurais du faire
1) une table avec les coordonnées de la personne ==> id_personne | nom | prenom etc...
2) une table avec la liste des pa  ==> id_inscription | type d'inscription
3) une table qui associe les deux ? mais alors, celle ci peut avoir 16 fois l'id_personne associée à chaque fois avec une id_inscription

est-ce que si je fais cela, je vais dans le bon sens ?

mais pour l'instant, les pa peuvent avoir deux valeur : 1 = inscrit 2 = en attente
comment gérer cela ?

#20 MySQL, PostgreSQL, etc... » compter avec conditions » 04-04-2012 10:50:16

debe
Réponses : 5

bonjour,
je voudrais compter des champs dont le contenu =0

je sais faire

$sql_compter = "SELECT COUNT(pa_1) AS pa1  FROM matable WHERE pa_1 = 0";
$req_compter = mysql_query($sql_compter) or die('Erreur SQL !<br>'.$sql_compter.'<br>'.mysql_error());
$att = mysql_fetch_assoc ($req_compter);

mais il me faut alors répéter 16 fois ce code car j'ai 16 champ pa (pa_1, pa_2, etc....)

comment les regrouper dans une seule requêtes ?

cela

$sql_compter = "
SELECT COUNT(pa_1) AS pa1_att FROM matable WHERE pa_1 = 0,  
COUNT(pa_2) AS pa2_att FROM matable  WHERE pa_2 = 0
";

ne fonctionne pas

#21 Re : Forum Général PHP » corriger adresses mail » 13-10-2011 12:56:53

désolé, j'ai un peu buggé la dessus
en fait la partie que je n'ai pas du saisir est celle concernant la requête réseau (IMAP).

je vais faire une recherche la dessus et tester cela

désolé pour la mauvaise compréhension

#22 Re : Forum Général PHP » corriger adresses mail » 13-10-2011 12:56:53

effectivement, j'avais lu trop vite. cette vérification est faite pour signer une pétition : la personne reçoit un mail à la signature et doit valider sa pétition.

Le pb, c'est quand son adresse est fausse (mauvaise frappe) elle ne reçoit pas cette demande de validation . d'ou ma volonté de vérifier en amont

#23 Re : Forum Général PHP » corriger adresses mail » 13-10-2011 12:56:53

sur un autre forum
http://www.siteduzero.com/forum-83-6979 … l#r6742239

on m'a proposé une autre solution

<?php
$hosts = array('hotmail', 'gmail', 'wanadoo', 'orange', 'free', 'live', 'msn', 'yahoo');
$user_entry = 'gmazil';
 
if(!in_array($user_entry, $hosts)) {
  foreach($hosts as $host) {
    if(levenshtein($user_entry, $host) <= 2) {
        $user_entry = $host;
        break;
    }
  }
}
 
echo $user_entry;
?>

je pensais tester d'abord avec checkdnsrr mais la remarque de la personne qui m'a aidée est pertinente : les nom de domaines comme gmail.fr ou gmazil.com ont été squatté et ramène donc true

la solution est donc, grâce à ce test, de suggérer à l'internaute une correction de son adresse, libre à lui de garder celle tapée

#24 Forum Général PHP » corriger adresses mail » 13-10-2011 12:56:53

debe
Réponses : 7

bonjour,
dans mes formulaires, les personnes se trompent souvent dans leur adresse mail, et ceci malgré une obligation de retaper leur adresse.

je voudrais corriger ces adresses à leur places pour éviter des retours de mails.

j'ai fais cela mais je pense qu'il doit y avoir plus simple que tout ces elseif

$domain = explode('@', $ad_mail);
$domaine = $domain[1];

$gmail = array('gmail.fr','gmal.com','gmazil.com');
$orange = array('ornage.fr','prange.fr','roange.fr');
$wanadoo = array('wanado.fr','xanadoo.fr','wandoo.fr');
$free = array('freee.fr','fre.fr');

   if (in_array($domaine,$gmail))
    {
  $ad_mail = $domain[0].'@gmail.com';
    }
  elseif(in_array($domaine,$orange))
    {
   $ad_mail = $domain[0].'@orange.fr';
    }
    elseif(in_array($domaine,$wanadoo))
    {
   $ad_mail = $domain[0].'@wanadoo.fr';
    }
    elseif(in_array($domaine,$free))
    {
   $ad_mail = $domain[0].'@free.fr';
    }

qu'en pensez-vous ?

#25 Re : Forum Général PHP » espace membre : connexion a la place d'un autre » 09-09-2011 14:02:58

j'ai ajouté
ini_set('session.use_cookies', '1');
ini_set('session.use_only_cookies', '1');
ini_set('session.use_trans_sid', '0');
ini_set('session.name', 'PHPSESSID');
ini_set('session.auto_start', '0');
ini_set('session.cookie_lifetime', '0');
ini_set('session.cookie_httponly', '0');

je pense que cela va résoudre mon problème

Pied de page des forums

Propulsé par FluxBB