Archive for the 'php' Category

23
Jul

paser du XML avec PHP4.4

http://www.kirupa.com/web/xml_php_parse_beginner.htm

http://www.ibm.com/developerworks/opensource/library/os-xmldomphp/

http://www.ibm.com/developerworks/library/x-xmlphp1.html

 

04
Jul

css : header et footer fixes sans utiliser Frames

 

@charset "utf-8″;
/* CSS Document */
body {
    margin-left: 0px;
    margin-top: 0px;
    margin-right: 0px;
    margin-bottom: 0px;
}

#content {

    overflow:auto;
    position:absolute;
    top:100px;
    bottom:100px;
    width:100%;
    font-family: Verdana, Arial, Helvetica, sans-serif;
    font-size: 11px;
    }

#header {
    position:absolute;
    top:0;
    width:100%;
    height:100px;
    font-size:16px;
    background-color:#D4D0C8;
    font-family: Verdana, Arial, Helvetica, sans-serif;
    }

#footer {
    position:absolute;
    bottom:0;
    width:100%;
    height:100px;
    background-color:#D4D0C8;
    font-family: Verdana, Arial, Helvetica, sans-serif;
    font-size: 14px;
    }

26
Jun

associer une page HTML avec du PHP: mapper html en php

Il suffit d’ajouetr un fichier .htaccess à la racine du site

 

AddHandler application/x-httpd-php .html
AddHandler application/x-httpd-php .htm

 

De cette manière toutes les pages avec les extensions .HTM ou .HTML seront vues comme des pages .PHP

24
Jun

mysql_fetch_xml : un recordset directement sur XML

Afin d' éviter
Mots clés Technorati : ,
 de transformer un recordset en XML en encapsulant les résultats en tags, voici une fonction mysql_fetch_xml qui le fait
 
 
function mysql_fetch_xml($res , $row=‘row’ , $result=‘result’) {
if (!is_resource($res)) return false;
if (mysql_num_rows($res) < 1) return ; 

$xml .= “<$result>\n”;
$i = 0;
while($l = mysql_fetch_assoc($res)) {
    $i++;
    $xml .= ” <$row id=\”$i\”>\n”;
    foreach($l as $colonne => $valeur){
        $xml .= ” <$colonne>”.htmlspecialchars($valeur).“<$colonne>\n”;
    }
    $xml .= ” </$row>\n”;
}
$xml .= “</$result>”;
return $xml;
} 

29
Apr

fonction php removeACcents

Mots clés Technorati : ,

Bien plus facile à mettre en oeuvre que les encodages UTF-8 dans flash paper: il suffit de renommer le fichier en supprimant les accents :

 

function removeAccents($text)
  {
      return strtr($text, “ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ”,  “aaaaaaaaaaaaooooooooooooeeeeeeeecciiiiiiiiuuuuuuuuynn”);
  } ; 

29
Apr

dedibox windows et serveur SMTP

imagePour ceux qui utilisent un serveur windows sans IIS, (genre easyphp), voici un serveur SMTP facile à mettre en oeuvre afin d’ habiliter la fonction mail() du PHP

la société ARGOSOFT propose un serveur en freeware:

TELECHARGER ICI le serveur SMTP

 

Il suffit de d’ installer et voici la fonction mail() habilitée de nouveau

22
Apr

système de reservation online

http://www.resaclick.fr/

Utilisant de l’AJAX et du HTML, basé sur PHP et mySQLimage

Spécialisé pour la gestion complète de club de squash:

  • réservations
  • gestion des abonnements
  • créneaux horaires
  • gestion des cours
  • gestion de vacances
  • Caisse
  • dettes et paiements
  • recherche des partenaires
  • Gestion des tournois
  • stocks etc..

 

15
Apr

logging avec du PHP

Mots clés Technorati :

La façon la plus simple (sans utiliser PEAR) est d’ écrire une simple fonction:

   1: function log2File($filename, $msg)
   2: { 
   3:   $fd = fopen($filename, “a”);
   4:   $str = “[” . date(“Y/m/d h:i:s”, mktime()) . “] “ . $msg; 
   5:   fwrite($fd, $str . “\n”);
   6:   fclose($fd);
   7: }

22
Jan

hello world amfPHP

voici un resumé pour faire un HELLO world sous FLEX/AMFPHP

1) télecharger amfPHP version 1.2 (pas la 1.9) à partir de www.amfphp.org

2) Il faut posseder PHP >4.3 (easyPHP 1.8 fera l’affaire). Sinon certaines fonctions ne marcheront pas:

EXEMPLE:
if(!function_exists(’file_get_contents’)){
   function file_get_contents($file){
      $lines=file($file);
      if($lines!==false){
         return implode(”,$lines);
      } else {
         return false;
      }
   }
}

Créer ensuite sous APACHE un host comme: amfphp pour qu’il soir accessible sous: http://127.0.0.1/amfphp/

Dans le dossier services de amfphp, créez le fichier HelloWorld.php

dont voici le contenu

PHP:
  1. <!–p<br–>class HelloWorld{
  2.   function HelloWorld(){
  3.  include (“HelloWorld.methodTable.php”);
  4.   }
  5.   /**
  6.   @desc un simple appel echo !
  7.   @access remote
  8.   */
  9.   function makeEcho($message){
  10.     return $message.$message;
  11.   }
  12. }
  13. ?>

ouvrez alors http://127.0.0.1/amfphp/

et appuyez sur Save to HelloWorld.methodTable.php pour ré-ecrire le fichier HelloWorld.methodTable.php

La partie PHP est terminée. Il ne reste plus qu’à passer à la partie FLEX

dans flex créez un nouveau projet portant le nom testAMFPHP par exemple

Puis créez une nouvelle classe RemotingConnection.as

Actionscript:
  1. package
  2. {
  3.     import flash.net.NetConnection;
  4.     import flash.net.ObjectEncoding;
  5.  
  6.     public class RemotingConnection extends NetConnection
  7.     {
  8.     public function RemotingConnection( sURL:String )
  9.         {
  10.             objectEncoding = ObjectEncoding.AMF0;
  11.             if (sURL) connect( sURL );
  12.         }
  13.        
  14.         public function AppendToGatewayUrl( s : String ) : void
  15.         {
  16.             //
  17.         }
  18.     }
  19. }

C’est un fichier que nous allons ré-utiliser dans tous nos projets AMFPHP RemotingConnection.as

Enfin notre fichier MXML contiendra le code classique d’appel:

XML:
  1. <!–l version="1.0" encoding="utf-8–>
  2. http://www.adobe.com/2006/mxml" layout="absolute">
  3.  <script>undefined</script>
  4.  <button />

Voilà c’est terminé : Vous savez faire communiquer PHP (et mysql) avec un projet FLEX !

 

05
Dec

AJAX php: vérifier si un user est déjà enregistré…

AJAX php: vérifier si un user est déjà enregistré sans avoir à re-charger la page

PHP:
  1. function RemoteRequestObject()
  2.  {
  3.   var A = false;  
  4.   try  {   A = new ActiveXObject(“Msxml2.XMLHTTP”);  }
  5.   catch(e)
  6.   {  try  {    A = new ActiveXObject(“Microsoft.XMLHTTP”);  }
  7.    catch(err)   {    A = false;   }
  8.   }
  9.  
  10.   if(!A && typeof(XMLHttpRequest) != ‘undefined’)
  11.    A = new XMLHttpRequest();
  12.   return A;
  13.  }
  14.  
  15.  function validateUser(oForm) {
  16.    var x = RemoteRequestObject();
  17.   oForm.onsubmit = function()
  18.   {
  19.  
  20.   if (oForm.annee.value==“annee”) {
  21.   alert(“Entrez votre année de naissance”);
  22.   oForm.annee.focus();
  23.   return false;
  24.   
  25.  }
  26.  if (oForm.email.value.indexOf(“@”) == -1 || oForm.email.value.indexOf(“.”) == -1 ||  oForm.email.value == “”)
  27.  {
  28.   alert(“Veuillez entrer un email valide”);
  29.   oForm.email.focus();
  30.   return false;
  31.  }
  32.  
  33.  if (oForm.pseudo.value==“”) {
  34.   alert(“Choissez un pseudo”);
  35.   oForm.pseudo.focus();
  36.   return false;
  37.  }
  38.  if (oForm.motdepasse.value==“”) {
  39.   alert(“Choissez un mot de passe”);
  40.   oForm.motdepasse.focus();
  41.   return false;
  42.  }
  43.  
  44.  if (oForm.cgu.checked==false) {
  45.   alert(“Vous devez accepter les conditions générales d’utilisation”);
  46.   oForm.cgu.focus();
  47.   return false;
  48.  
  49.  }
  50.  
  51.    var usr=oForm.elements[‘pseudo’].value;
  52.    var url = “ajax.php?pseudo=”+usr;
  53.    x.open(“GET”,url,true);
  54.    x.onreadystatechange=function()
  55.    {
  56.     if(x.readyState == 4 && x.status == 200)
  57.     {
  58.      var r = x.responseText;
  59.      if(r.indexOf(“OK”) == 0)
  60.      {
  61.       oForm.submit();
  62.      }
  63.      else
  64.      {
  65.       alert(“Le pseudo que vous avez choisi est déjà utilisé!\nVeuillez le changer!”);
  66.     form3.pseudo.focus();
  67.      }
  68.     }
  69.    };
  70.    x.send(null);
  71.    return false;
  72.   }
  73.  
  74.  }

 

Le fichier ajax.php contient

PHP:
  1. <!–p require_once(‘Connections/con1.php’);<br–>mysql_select_db($database_con1, $con1);
  2.     $sql = “SELECT * FROM chat WHERE pseudo = ‘$pseudo’”;
  3.     $result = mysql_query($sql) or die(mysql_error());
  4.  
  5.     if(mysql_num_rows($result)>0)
  6.     {
  7.         echo “KO”;
  8.     }
  9.     else
  10.     {
  11.         echo “OK”;
  12.     }
  13. ?>