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 : Forum Général PHP » recherche avec php » 13-08-2010 18:40:05

Bonsoir,

on est en train de débugger.
Je te demande le résultat du test, 0 ou 1.

Que ca marche pas, je le sais déjà, mais je n'ai pas de boule de cristal comme dirait une autre personne ici pour deviner le pb...

@++

#2 Re : Forum Général PHP » recherche avec php » 13-08-2010 18:40:05

Essaye:


echo mysql_num_rows($reslt);
 

après le mysql_query, ça te donnera le nombre de champs dont l'id est à 1 et il ne doit y en avoir qu'un.
Si ça affiche 0, c'est qu'il y a un pb dans ta requête ou dans ta base.

@++

#3 Re : Forum Général PHP » recherche avec php » 13-08-2010 18:40:05

L'echo est là pour montrer ce qu'il y a dans $idmateriel.
Dis moi ce que ça affiche et si ça concorde avec ce que tu cherches dans ta base.

@++

#4 Re : Forum Général PHP » recherche avec php » 13-08-2010 18:40:05

Bonjour,

ce script m'a l'air très simple et ne devrais pas poser de pb.
Mais il faut débugger:

fais un echo $idmateriel pour voir si l'id est le bon.

@++

#5 Re : Forum Général PHP » affichage des images d'un dossier - ordre par nom » 04-08-2010 15:10:22

Bonjour,

à aucun moment tu ne tries les fichiers.
Peut être qu'en local, tes fichiers se trouvent triés avec le readdir et que ce ne soit pas le cas avec ton serveur...

@++

#6 Re : Forum Général PHP » convertisseur de lettres en chiiffres vice versa » 15-07-2010 21:36:19

J'ai l'impression que tu veux appeler la fonction enlettre() que tu as définie dans nel.php.

Mais effectivement, je ne comprend pas vraiement ce isset($envoi).

Je suppose que la condition est nulle est que le bloc de code n'est tout simplement pas exécuté.

Bon courage !

#7 Re : Javascript » xAjax » 01-07-2010 23:02:22

Bonjour,

j'ai lu le tuto sur xAxaj, et j'ai été séduit par la simplicité de codage que xAjax permet.
Je vais utiliser cette librairie, notamment pour faire un petit chat comme celui que le tuto propose...

Merci de m'avoir fait connaître xAjax !

#8 Re : Javascript » xAjax » 01-07-2010 23:02:22

Bonjour,

Je ne souhaite pas dévier le post, mais le recentrer, au contraire:

- La question originelle était: est-ce que la librairie xajax est pérenne ?
Parce que je viens de lire le tuto sur cette librairie, et pour moi qui ait un peu compris Ajax en lisant le livre "Ajax, le guide complet", elle me semble très intéressante.

- Afin de bien comprendre Ajax, il vaut mieux, à mon avis, commencer sans utiliser de librairie.
Ajax n'est rien d'autre que la récupération de texte ou de JSON ou même de XML, par l'intermédiaire d'un appel d'un script PHP évidement situé sur
le serveur qui se termine par un echo...
...sans recharger la page, ce qui est le but recherché.

Un peu de code:


    function majTable() {
      // On envoie la requête au serveur
      requete_ajax=getXMLHttpRequest();
      url='majTable.php';
      requete_ajax.open('GET', url, true);
      requete_ajax.send(null);
      // On indique la fonction de retour
      requete_ajax.onreadystatechange = function() {
        // Si la requête est terminée
        if(requete_ajax.readyState==4) {
          // Si la requête ne contient pas d'erreur
          if(requete_ajax.status==200) {
            var retour=eval('('+requete_ajax.responseText+')');
            // On traite la réponse
            if(!retour.isTrue) {
              alert("Erreur de mise à jour !");
            }
          }
          else {
            alert("Erreur serveur !");
          }
        }
      }
    }
 

getXMLHttpRequest() retourne l'objet Ajax, suivant le navigateur, qui est le coeur d'Ajax:


    function getXMLHttpRequest() {
      if(window.XMLHttpRequest) // Firefox  
        requete_ajax = new XMLHttpRequest();  
      else if(window.ActiveXObject) // Internet Explorer  
        requete_ajax = new ActiveXObject("Microsoft.XMLHTTP");  
      else { // XMLHttpRequest non supporté par le navigateur  
        alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");  
        return(null);
      }
      return(requete_ajax);    
    }
 

Ce code, appelé côté client avec la fonction majTable(), exécute le script PHP majTable.php sans recharger la page, sans submit, à l'occasion de
n'importe quel évènement JavaScript...

Dans ce cas, le code PHP majTable.php est:


<?php
                // Traitement de la MAJ
    echo "{isTrue:true}"; // JSON renvoyé pour signifier que la MAJ s'est bien passée.
?>
 

AJAX ne sert donc qu'à une seule chose:
Appeler un script PHP qui effectue un traitement sur le serveur et qui renvoie, par le biais d'un echo, du texte, du JSON ou du XML...
...qui peut mettre à jour une div avec innerHTML.


J'ai pas réussi à donner d'exemple plus simple...

Bon courage !

#9 Re : Défouloir » Google Wave, Python et Java... » 16-06-2010 23:48:19

Bonjour !

Je reviens aux nouvelle et je peux vous dire dors et déjà que je vais revenir à mes premières amours qui sont le PHP, le SQL, AJAX et le Javascript
en me lançant dans la construction d'un nouveau site.

En effet, j'ai essayé de programmer des robots en Java, mais j'ai pas été loin car cela ne m'inspirait pas... (malgré ce site: http://wave.to).

Ensuite, j'ai essayé de programmer un calendrier en JavaScript, ils appellent ça un gadget et ça a été plus facile, mais ça ne m'inspirait toujours pas...

En fait, Google Wave est un formidable champ d'investigation pour les développeurs confirmés.
Outre le fait qu'il faille parfaitement maîtriser l'Anglais, leurs discussions sur le sujet me semblent hors de portée...

Y'en a un, la dessus, que j'admire ouvertement qui après s'être longtemps appelé Anonymous, s'appelle Nat, maintenant, je crois.
C'est un jeune développeur qui maîtrise les APIs de Google Wave à la perfection.

Ce n'est pas mon cas, et il ne sert à rien de s'obstiner, donc je vais faire un nouveau site.
http://www.123kiss.fr étant très mal programmé car je débutais dans le PHP, plein de bugs, pas optimisé au niveau des requêtes SQL ni au niveau
de la sécurité, je vais me lancer dans le développement d'un réseau social à la Facebook.

C'est bien plus compliqué qu'un site de rencontre, mais c'est dans la même lignée...

Voilà, je vais encore vous embêter avec mes questions, mais je vais m'attacher à répondre aux questions des autres quand je le pourrai.

Ravi de me retrouver de nouveau parmi vous afin de partager notre passion pour le PHP ! smile

Ralph303

#10 Re : Défouloir » Google Wave, Python et Java... » 16-06-2010 23:48:19

Bonjour, je reviens aux nouvelles...

J'ai trouvé ce site sympa: http://wave.to/guides/simple-robots-v2/blippy

Il explique un peu comment utiliser les APIs.

En suivant l'aide en ligne de Google, on peut facilement s'installer un excellent environnement de programmation Java avec Eclipse.
Et on peut déployer son premier robot en qq heures...

Voilà !

@++

#11 Défouloir » Google Wave, Python et Java... » 16-06-2010 23:48:19

Ralph303
Réponses : 3

Bonjour,

je viens de recevoir mon invitation à Google Wave et je voudrais développer des Gadgets et des Extensions pour ce service.
Enfin, c'est un objectif que je me suis fixé, car je ne connais pas Python et je connais un peu Java.

Google propose une API open-source car ils ont besoin de développeurs...

Si vous voulez tenter l'aventure avec moi, j'ai des invitations à donner...

@++

#12 Re : Forum Général PHP » Relation entre deux page externes et protection de la seconde page. » 26-01-2010 21:22:42

En fait, les variables de session sont très simples à utiliser.

Pour ce faire, il faut mettre <?php session_start(); ?> au début de chaque script qui les utilise. Et rien avant ! Sinon tu as une erreur.
Ensuite, comme ce sont des variables dans un tableau superglobal, elles sont accessible dans n'importe quel script de ton site.
$_SESSION['ma_variable']=valeur; ou $variable=$_SESSION['ma_variable']; marchent très bien...

Ca évite de passer des variables dans différents scripts par url: mon_script.php?variable=valeur

Y'a rien de bien compliqué...

Par exemple, je met $_SESSION['userid'] à la valeur du userid pour pouvoir savoir qui je suis dans chaque script.
Ou bien $_SESSION['logge'] à la valeur true ou false pour savoir si je suis loggé ou pas.

J'espère que ça t'a aidé dans ta compréhension des variables de session.

a++

#13 Re : Forum Général PHP » Relation entre deux page externes et protection de la seconde page. » 26-01-2010 21:22:42

Merci beaucoup pour cette réponse détaillée !

Je pense qu'il y a un bug (un de plus...) dans ma gestion du login avec les variables de session et les cookies.
Car, normalement, la variable de session $_SESSION['logge'] est mise  à true seulement si le login est validé dans login.php, donc, ça ne
devrait pas être possible d'être loggé directement en tapant http://www.123kiss.fr/accueil.php .

Vu que je reste sur le même domaine, je ne dois pas avoir le même pb que toi, enfin, je pense car je suis loin de maîtriser ce dont on parle...

Merci encore !

#14 Re : Forum Général PHP » Relation entre deux page externes et protection de la seconde page. » 26-01-2010 21:22:42

Bonjour,

cette discussion me pose question concernant le login de mon site.
J'ai un simple formulaire d'identification sur ma page index.php et je fais les tests des identifiants dans login.php.
Si c'est correct, je fais une redirection vers l'accueil.

Le pb, c'est que si je tape http://www.123kiss.fr/accueil.php , ça me logge directement sans avoir vérifié mes identifiants !
Heureusement, ça me logge avec le compte de l'utilisateur défini dans le cookie...

Faut il obligatoirement utiliser la méthode que vous avez décrite dans cette discussion afin de sécuriser le login de mon site ?

Merci d'avance !

#15 Re : Défouloir » Quel éditeur ? » 01-04-2011 18:00:15

Bonjour,

moi, après avoir longtemps utilisé l'éditeur de Dreamweaver CS3, je suis passé à Notepad++ en suivant le conseil de MK... smile
Il est super et la coloration syntaxique est très reposante pour les yeux tout en étant efficace.

J'ai aussi essayé DevPHP, mais la coloration syntaxique est très aggressive, c'est pour ça que j'étais passé à Dreamweaver... sad

#16 Re : Défouloir » Héhé coquin le Ralph303 » 02-01-2010 17:00:31

MDRRR !

Oui, je fais un site de rencontres car je trouve que c'est un excellent exercice. cool
C'est pas pour rencontrer des femmes, j'en ai déjà une... smile

En tous cas, merci xTG, j'avais pas vu ce bug !

Comme je programme très mal car je suis un débutant, j'ai des dizaines de bugs sur ce site... neutral

#18 Re : Forum Général PHP » Encore un bug trivial avec une variable de session » 30-12-2009 17:10:03

Ok, j'ai utilisé ton code et ça marche !
Effectivement, pas besoin de variable de session, le $_GET suffit... smile

J'ai encore un petit pb concernant le calcul de l'offset, car j'affiche ma table du dernier membre inscrit au premier.
Mais ça, je peux le résoudre tout seul. Il me suffit de réfléchir un peu... roll

Enfin, pour le moment, j'ai beaucoup réfléchi et je suis fatigué.
Je verrai ce pb qd je serai reposé...

Merci encore pour ton aide, Maskime ! smile

#19 Re : Forum Général PHP » Encore un bug trivial avec une variable de session » 30-12-2009 17:10:03

Ah ok ! Je ne savais pas que le $_GET était accessible n'importe où dans mon code...
Donc, je vais utiliser mes 80% de réflexion sur la base de ce que tu m'as dit... smile

Merci Maskime !

#20 Re : Forum Général PHP » Pb d'éxpéditeur lors de l'envoi d'un email en PHP » 31-12-2009 18:47:32

Ok, ça doit venir de mon hébergeur....

Merci pour ton aide, Pierrot ! smile

Ralph303

#21 Re : Forum Général PHP » Pb d'éxpéditeur lors de l'envoi d'un email en PHP » 31-12-2009 18:47:32

Ah ok !

Merci Pierrot ! big_smile

Ca marche maintenant ! C'est qd même bien plus joli... smile

Question subsidiaire:
Ca m'envoie le même email 2 fois...

Comment cela se fait-il ?

Ralph303

#22 Forum Général PHP » Pb d'éxpéditeur lors de l'envoi d'un email en PHP » 31-12-2009 18:47:32

Ralph303
Réponses : 6

Bonjour,

je voudrais envoyer des emails automatiquement aux utilisateurs de mon site web en php.
Ca marche, mais lorsqu'ils reçoivent l'email, le from est root@plesklinux10.dns26.com, ce qui n'est pas beau...

J'utilise le code suivant:


<?php
     // On envoie un email au membre
     $email="jacktrack@rocketmail.com";
     $from="From: admin@123kiss.fr";
     $objet="test";
     $message="Ceci est un test\n";
     $message.="sur plusieurs lignes\n";
     mail($email, $objet, $message, $from);
?>
 

Contrairement à ce qui est dit dans un bouquin sur PHP, le $from ne change pas l'expéditeur de l'email...

Peut-être est-ce parce que, dans mon hébergement, je n'ai pas le SMTP ?
Ou est-ce pour une autre raison ?

Merci pour vos réponse !

Ralph303

#23 Re : Forum Général PHP » Encore un bug trivial avec une variable de session » 30-12-2009 17:10:03

Merci d'avoir répondu si rapidement, Maskime ! smile

En effet, mon SQL n'est pas optimisé...
Merci pour cette précision et ces explications.


Mais je suis qd même obligé d'utiliser une variable de session car je veux que le calcul se fasse lorsque je clique sur un lien...
Et je ne sais pas appeler une fonction de calcul en cliquant sur un lien autrement qu'avec JavaScript avec onclick.
Or, je crois qu'il faut utiliser le moins possible JavaScript... (J'ai récemment eu une mésaventure avec JavaScript sur ce forum, j'avais fait
compliqué alors qu'on pouvait faire simple.)

Et comment garder en mémoire la dernière page affichée sans variable de session ?

De plus, l'affichage de mes pages se fait avec un require('derniers_inscrits.php');
Or, je ne sais pas comment passer le résultat du calcul au script derniers_inscrits.php...

Et ce n'est qd même pas normal que cette variable de session ne sois pas modifiée dans calc_inscrits.php, même si je dois procéder autrement
et ne pas utiliser de variable de session...

Ralph303

#24 Forum Général PHP » Encore un bug trivial avec une variable de session » 30-12-2009 17:10:03

Ralph303
Réponses : 5

Bonjour,

décidément, je n'ai pas de chance avec mes variables de session...
Ce bug est trivial. Il n'y a pas de JavaScript cette fois ci...

J'ai ajouté des liens de navigation dans les derniers inscrits du genre "<<  <  >  >>", premiers, précédents, suivants et derniers.
Pour savoir où j'en suis dans les derniers inscrits, j'ai une variable de session $_SESSION['courant'] qui contient l'id du membre courant.

Dans index.php, j'initialise cette variable de session avec le nombre d'inscrits:


<?php
  // Déclaration des variables de session
  session_start();

  // sélection de la base  
  mysql_select_db('ma_base',$db)  or die('Erreur de selection '.mysql_error());

  // On compte le nombre d'inscrits
  $sql="select * FROM inscription";
  $result=mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
 
  // Le membre courant est le nombre de membres
  $_SESSION['courant']=mysql_num_rows($result);
?>
 

Une fois que l'utilisateur est loggé, on ne reviens jamais dans index.php et on va dans accueil.php:


<?php
  echo "Derniers inscrits (cliquez sur la photo d'un membre pour voir son portrait):  ";
  echo "<a class=\"lien\" href=\"calc_inscrits.php?dir=prem\"><<</a> ";
  echo "<a class=\"lien\" href=\"calc_inscrits.php?dir=prec\"><</a> ";
  echo "<a class=\"lien\" href=\"calc_inscrits.php?dir=suiv\">></a> ";
  echo "<a class=\"lien\" href=\"calc_inscrits.php?dir=dern\">>></a> ";
  echo "<br>";
  echo "Dans accueil.php: ", $_SESSION['courant'];
  require('derniers_inscrits.php');
?>
 

derniers_inscrits.php m'affiche les 20 derniers inscrits dans l'ordre inverse (du plus récent au plus ancien) à partir de $_SESSION['courant'].

calc_inscrits.php, suivant la direction de la navigation, me calcule l'utilisateur courant:


<?php
  $dir=$_GET['dir'];
 
  // connexion à la base
  $db = mysql_connect('localhost', '', '')  or die('Erreur de connexion '.mysql_error());
 
  // sélection de la base  
  mysql_select_db('ma_base',$db)  or die('Erreur de selection '.mysql_error());
 
  // On écrit la requête sql
  $sql="SELECT userid, jesuis, journaiss, moisnaiss, anneenaiss, ville, pseudo, photo FROM inscription";
 
    // On interroge la base
  $result=mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
  $nb_inscrits=mysql_num_rows($result);
 
  if($dir=="prem") {
    $_SESSION['courant']=$nb_inscrits;
  }
  else if($dir=="prec") {
    if($_SESSION['courant']+20>=$nb_inscrits) {
      $_SESSION['courant']=$nb_inscrits;
    }
    else {
      $_SESSION['courant']+=20;
    }
  }
  else if($dir=="suiv") {
    if($_SESSION['courant']-20<=0) {
      $_SESSION['courant']=20;
    }
    else { 
      $_SESSION['courant']-=20;
    }
  }
  else if($dir=="dern") {
    $_SESSION['courant']=20;
  }
 
  echo "Dans calc_inscrits.php: ", $_SESSION['courant'];
 
  mysql_close();  // on ferme la connexion  
 
  // On va directement à l'accueil
  echo '<script type="text/javascript">';
  echo 'window.location.href="accueil.php"';
  echo '</script>';
?>
 

Une fois le calcul effectué, on va directement à l'accueil.

Le bug: une fois le calcul effectué dans calc_inscrits.php, ça m'affiche bien la bonne valeur de la variable de session:
Dans calc_inscrits.php: 20

Par contre, lorsque je suis revenu dans accueil.php, ça m'affiche l'ancienne valeur, à savoir celle avec laquelle j'ai initialisé cette variable de session dans index.php:
Dans accueil.php: 29
(J'ai pour l'instant 29 inscrits).

Or, je ne reviens jamais dans index.php...

Et si je l'initialise avec une valeur arbitraire dans index.php (par exemple: 15), c'est toujours cette valeur qui est affichée:
Dans accueil.php: 15

Tout se passe comme si ma variable de session n'était pas modifiée dans calc_inscrits.php...

Merci pour votre aide !

Ralph303

#25 Re : Javascript » Pb de unescape() dans un script php appelé par Ajax » 27-12-2009 22:45:57

J'ai résolu le pb en recherchant dans le forum de commentcamarche.net:

Il faut bien utiliser escape() pour encoder les caractères accentués dans la fonction Ajax, et utf8_encode($_GET['value']) dans le script PHP
appelé.

Merci pour la piste xTG, encore une fois tu m'a bien aidé ! smile

Ralph303

Pied de page des forums

Propulsé par FluxBB