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 » Problème avec accent » 29-12-2009 17:36:13

Le seul que j'ais trouvé c'est cela:

default_charset   local value: no value    Master value:no value

#2 Re : Forum Général PHP » Problème avec accent » 29-12-2009 17:36:13

J'ais créer un fichier phpinfo pour connaitre toutes les infos du serveur, ou dois je chercher l'encodage du serveur je suis perdu dans toutes ces données

#3 Re : Forum Général PHP » Problème avec accent » 29-12-2009 17:36:13

Je suis sur mutualisé chez phpnux.com , je ne saurais pas te dire beaucoup plus

#4 Re : Forum Général PHP » Problème avec accent » 29-12-2009 17:36:13

Dans le dossier galerie, j'ais le fichier index.php ainsi que le fichier images.class.php et le dossier galerie  ou se trouvent exclusisement les photos. Dans les noms de photos il gère les espaces entre les noms sans problèmes.
Je viens aussi d'essayer d'ouvrir l'image en direct sur  http://www.monsite.com/galerie/galerie/ … ardins.jpg et mon navigateur me dit que le lien est corrompu

#5 Re : Forum Général PHP » Problème avec accent » 29-12-2009 17:36:13

Le script ne génère pas de chemin, l'adresse reste tjrs la même www.monsite.com/galerie/index.php et rien d'autre à la suite

#6 Re : Forum Général PHP » Problème avec accent » 29-12-2009 17:36:13

Non, le nom de l'image apparait même avec l'accent, seuleument voila ce que je trouves bizarre c'est que l'image ne s'affiche pas quand il y a un accent dans le nom de l'image, j'ais le nom et une croix à la place de l'image et le problème vient bien des accents car lorsque je modifie le nom de l'image et que je supprime l'accent elle apparait

#7 Re : Forum Général PHP » Problème avec accent » 29-12-2009 17:36:13

Le fichier est index.php et voici le code complet
(il ne manque pas grand chose par rapport au premier fichier envoyé)

<html><head>
<META
<link rel="stylesheet" type="text/css" href="style-gal.css">
<TITLE></TITLE>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head><body bgcolor="#141414">
<?php include("images.class.php"); ?>


<SCRIPT LANGUAGE="JavaScript">
table_photo = new Array;
table_noms = new Array;
table_type = new Array;

<?
$a = 0;
$handle = opendir("galerie");
while (($file = readdir())!=false) {
  clearstatcache();
  if($file!=".." && $file!=".")
    {

    // RECHERCHE DU FICHIER
    echo "table_photo[$a] = 'galerie/$file';";
   
    // RECHERCHE DU TYPE DE FICHIER
    $file_type = strrchr($file, ".");
    $file_type = str_replace(".", "", $file_type);
    $file_type = strtoupper($file_type);
    echo "table_type[$a] = '$file_type';";
   
    // RECHERCHE DU NOM :
    $file_name = strtolower($file);
    $file_name = str_replace(".jpg", "", $file_name);
    $file_name = str_replace(".jpeg", "", $file_name);
    $file_name = str_replace(".gif", "", $file_name);
    $file_name = str_replace(".png", "", $file_name);
    echo "table_noms[$a] = '$file_name';";
    $a++;
    }
  }
closedir($handle);
?>
 
function showing_photos(num)
  {
  if(document.getElementById)
    {
    diaporama_fin = "";
    if(num!=0)
      diaporama_fin += "<td height=20><p align=center><A HREF=# onClick='showing_photos("+(num-1)+");return(false)'><img border=0 src=leftarrow.png  height=35></A></td>";
    if(num!=(table_photo.length-1))
      diaporama_fin += "<td height=20><p align=center><A HREF=# onClick='showing_photos("+(num+1)+");return(false)'><img border=0 src=rightarrow.png  height=35></A></td>";
    document.getElementById("affichage_photos").innerHTML = "<div align=center><center><table border=0 width=640 cellspacing=0 cellpadding=5 height=480><tr><td colspan=2 valign=middle width=100% bgcolor=#141414 height=20><table border=0 width=100% cellspacing=0 cellpadding=0><tr><td width=50%><font color=#808080> Vue : "+table_noms[num]+"</td><td width=50%></td></tr></table></td></tr><tr><td width=100% colspan=2 valign=middle height=360><table border=0 width=100% cellspacing=1 cellpadding=0 height=100%><tr><td width=100% bgcolor=#141414 height=360><center><img src='"+table_photo[num]+"' height=350 BORDER=0></center></td></tr></table></td></tr><tr>"+diaporama_fin+"</tr></table></center></div>";
    }
  }

window.onload = new Function("showing_photos(0)")
</SCRIPT>
<DIV align="center" ID="affichage_photos"></DIV>
</body>
</html>

et voici le seul autre fichier entrant en ligne de compte (images.class.php)

<?php

class images {

var $repertoire;
var $nb_par_ligne;

function ajouter_image($image,$nom) {
if (is_dir($this->repertoire)) {
   if (copy($image, $this->repertoire . "/" . $nom)) return true;
    else return false;
  } else return false;
}

function lister_repertoire() {
  $liste = array();
  if (is_dir($this->repertoire)) {
    if ($pointeur = opendir($this->repertoire)) {
      while (($fichier = readdir($pointeur)) !== false) {
        if (!is_dir($this->repertoirte . "/" . $fichier)) {
          $liste[] = $fichier;
        }
      }
      closedir($pointeur);
      return $liste;
    } else return false;
  } else return false;
}

function liste_select() {
  $liste = $this->lister_repertoire();
  for ($i = 0; $i < count($liste); $i++) {
    echo "  <option value=\"$this->repertoire/$liste[$i]\">$liste[$i]</option>\n";
  }
}

function afficher_liste() {
  $liste = $this->lister_repertoire();
  echo "<table summary=\"table d'images\">\n";
  for ($i = 0; $i < count($liste); $i++) {
    $nom = explode(".", $liste[$i]);
    $nom = str_replace("_", " ", $nom[0]);
    $nom = str_replace("-", " ", $nom);
    $nom = strtoupper(substr($nom, 0, 1)) . substr($nom, 1);
    if (round($i/$this->nb_par_ligne) == ($i/$this->nb_par_ligne)) echo "  <tr>\n";
    echo "    <td align=\"center\">" . $this->afficher_image($liste[$i]) . "<br></td>\n";
    if (round(($i+1)/$this->nb_par_ligne) == (($i+1)/$this->nb_par_ligne) || ($i+2) > count($liste)) echo "  </tr>\n";
  }
  echo "</table>\n";
}

function afficher_image($fichier) {
  return "<img width=\"340px\" src=\"" . $this->repertoire . "/" . $fichier . "\" alt=\"" . $fichier . " - " . round((filesize($this->repertoire. "/" . $fichier)/1024), 2) . " ko\">";
}


}

?>

#8 Re : Forum Général PHP » Problème avec accent » 29-12-2009 17:36:13

Je pense que c'est à cet endroit

 // RECHERCHE DU NOM :
    $file_name = strtolower($file);
    $file_name = str_replace(".jpg", "", $file_name);
    $file_name = str_replace(".jpeg", "", $file_name);
    $file_name = str_replace(".gif", "", $file_name);
    $file_name = str_replace(".png", "", $file_name);
    echo "table_noms[$a] = '$file_name';";
    $a++;
    }

que je dois faire la modification pour qu'il prennes en compte les accents, seuleument je ne sais pas comment intégrer la fonction

#9 Re : Forum Général PHP » Problème avec accent » 29-12-2009 17:36:13

Ok mais je ne peut pas les convertir en caractères html car c'est le nom de la photo qui apparait. Et comment dois je placer addslashes pour que cela fonctionnes, je n'ais jamais utilisé cette fonction c'est nouveau pour moi

#10 Re : Forum Général PHP » Problème avec accent » 29-12-2009 17:36:13

Ok mais pour ce qui est des é, à, è que puis je faire?

#11 Forum Général PHP » Problème avec accent » 29-12-2009 17:36:13

webide67
Réponses : 20

Bonjour,

Je mets une galerie en ligne avec photo et nom de la photo.
Seuleument voila dès que la photo a un mot avec accent la photo laisse place à une croix alors que le nom apparait correctement.
Voici le script que j'utilise

<SCRIPT LANGUAGE="JavaScript">
table_photo = new Array;
table_noms = new Array;
table_type = new Array;

<?
$a = 0;
$handle = opendir("galerie");
while (($file = readdir())!=false) {
  clearstatcache();
  if($file!=".." && $file!=".")
    {

    // RECHERCHE DU FICHIER
    echo "table_photo[$a] = 'galerie/$file';";
   
    // RECHERCHE DU TYPE DE FICHIER
    $file_type = strrchr($file, ".");
    $file_type = str_replace(".", "", $file_type);
    $file_type = strtoupper($file_type);
    echo "table_type[$a] = '$file_type';";
   
    // RECHERCHE DU NOM :
    $file_name = strtolower($file);
    $file_name = str_replace(".jpg", "", $file_name);
    $file_name = str_replace(".jpeg", "", $file_name);
    $file_name = str_replace(".gif", "", $file_name);
    $file_name = str_replace(".png", "", $file_name);
    echo "table_noms[$a] = '$file_name';";
    $a++;
    }
  }
closedir($handle);
?>
 
function showing_photos(num)
  {
  if(document.getElementById)
    {
    diaporama_fin = "";
    if(num!=0)
      diaporama_fin += "<td height=20><p align=center><A HREF=# onClick='showing_photos("+(num-1)+");return(false)'><img border=0 src=leftarrow.png  height=35></A></td>";
    if(num!=(table_photo.length-1))
      diaporama_fin += "<td height=20><p align=center><A HREF=# onClick='showing_photos("+(num+1)+");return(false)'><img border=0 src=rightarrow.png  height=35></A></td>";
    document.getElementById("affichage_photos").innerHTML = "<div align=center><center><table border=0 width=640 cellspacing=0 cellpadding=5 height=480><tr><td colspan=2 valign=middle width=100% bgcolor=#141414 height=20><table border=0 width=100% cellspacing=0 cellpadding=0><tr><td width=50%><font color=#808080> Vue : "+table_noms[num]+"</td><td width=50%></td></tr></table></td></tr><tr><td width=100% colspan=2 valign=middle height=360><table border=0 width=100% cellspacing=1 cellpadding=0 height=100%><tr><td width=100% bgcolor=#141414 height=360><center><img src='"+table_photo[num]+"' width=400 BORDER=0></center></td></tr></table></td></tr><tr>"+diaporama_fin+"</tr></table></center></div>";
    }
  }

window.onload = new Function("showing_photos(0)")
</SCRIPT>

Merci d'avance pour l'aide

#12 Re : Forum Général PHP » ouvrir 2 fenetre après identification » 29-09-2009 17:20:27

Ce que j'ais voulu dire c'est que tu penses que c'est cette partie que je dois modifier

 {include file='special_offer.tpl'}
5.  {elseif $smarty.session.UserId > 0 }
6.    {* Show the statistics since last login  *}
7.    {include file='user_home_stats.tpl'}
8.  {/if}
9.  { if $config.show_featured_profiles > 0 && $featured_profiles}
10.    {* This is for showing the Featured Profiles  *}
11.    {include file='home_featured_profiles.tpl'}
12.  { /if }
13.

#13 Re : Forum Général PHP » ouvrir 2 fenetre après identification » 29-09-2009 17:20:27

Tu veut dire que je devrais effectuer la modif au niveau des "file" du homepage alors

#14 Re : Forum Général PHP » ouvrir 2 fenetre après identification » 29-09-2009 17:20:27

Il y a la page index (ici au complet)

<?php
if ( !defined( 'SMARTY_DIR' ) ) {
  include_once( 'init.php' );
}

if ($_SESSION['AdminId'] > 0) {

  header('location: admin/index.php');
  exit;
}


if ($_SESSION['UserId'] <= 0 && ($_GET['page'] == 'login' || !$_GET) &&  isset($_COOKIE[$config['cookie_prefix'].'osdate_info']) ) {

  $cookie = $_COOKIE[$config['cookie_prefix'].'osdate_info'];

  $_SESSION['txtusername'] = $cookie['username'];

  $_SESSION['txtpassword'] = $cookie['dir'] ;

  $_SESSION['rememberme'] = true;

  list($_SESSION['lookagestart'], $_SESSION['lookageend'])= split(':',$cookie['search_ages']);

  if ($cookie['username'] != "") {

    if ( !$_GET['errid'] ) {
      header("location: midlogin.php");
      exit;
    }
  }
}

if ( isset( $_GET['affid'] ) ) {

  $_SESSION['ReferalId'] = $_GET['affid'];

  if ( getenv( 'HTTP_CLIENT_IP' ) ){
    $userip = getenv( 'HTTP_CLIENT_IP' );
  }
  else if ( getenv( 'HTTP_X_FORWARDED_FOR' ) )  {
    $userip = getenv( 'HTTP_X_FORWARDED_FOR' );
  }
  else {
    $userip = getenv( 'REMOTE_ADDR' );
  }

  $count = $osDB->getOne( "select count(*) FROM ! where ip = ? and ip <> '' and affid = ?", array( AFFILIATE_REFERALS_TABLE, $userip, $_SESSION['ReferalId'] ) );

  if ( $count == 0 ) {
    $osDB->query( "INSERT INTO ! ( affid, userid, ip ) VALUES ( ?, '0', ? )", array( AFFILIATE_REFERALS_TABLE, $_SESSION['ReferalId'], $userip ) );
  }

}

if ($_GET['page'] == 'login' and $_GET['errid'] != '') {

  $t->assign ( 'login_error', get_lang('errormsgs',$_GET['errid']) );
}

if (!isset($_SESSION['lookagestart'])) {
  $_SESSION['lookagestart'] = $config['default_start_agerange'];
  $_SESSION['lookageend'] = $config['default_end_agerange'];
}

if( isset( $_GET['page'] ) ) {

  $siteurl = HTTP_METHOD . $_SERVER['SERVER_NAME'] . DOC_ROOT ;

  $psize = getPageSize();

  $t->assign ( 'psize',  $psize );

  $pageno = (int)$_REQUEST['pageno'];

  if( $pageno == 0 ) $pageno = 1;

  $upr = ($pageno * $psize )- $psize;

  $cpage = $pageno;

  $data = array();

  switch ($_GET['page']) {

    case 'stories':

      $temp =& $osDB->getAll( 'SELECT * FROM ! order by date desc', array( STORIES_TABLE ) );

      $reccnt = count($temp);

      $pages = ceil( $reccnt / $psize );

      if( $pages > 1 ) {
        $sql .= ' limit '.$upr.','.$psize;
        if ( $cpage > 1 ) {

          $prev = $cpage - 1;

          $t->assign( 'prev', $prev );

        }

        if ( $cpage < $pages ) {

          $next = $cpage + 1;

          $t->assign ( 'next', $next );

        }
        $temp = array_slice($temp,$upr,$psize);

      }

      $t->assign ( 'cpage', $cpage );

      $t->assign ( 'pages',  $pages );

      $t->assign ( 'reccount',  $reccount );

      foreach( $temp as $index => $row ) {

        $row['username'] = $osDB->getOne( 'SELECT username FROM ! where id = ?', array( USER_TABLE, $row[sender] ) );
        $row['text'] = stripslashes($row['text']);
        $arrtext = explode( ' ', $row[text], $config['length_story'] + 1 );
        $arrtext[ $config['length_story'] ] = '';
        $row['text'] = trim( implode( ' ', $arrtext ) ) . '...';
        $row['date'] = date( get_lang('DISPLAY_DATE_FORMAT'), $row[date] );

        $data []= $row;
      }
      $t->assign( 'lang', $lang );
      $t->assign ( 'data', $data );
      unset($data, $temp, $row);
      $t->assign('rendered_page', $t->fetch('allstories.tpl') );
      break;

    case 'allnews':

      $temp =& $osDB->getAll( 'SELECT * FROM ! order by date desc', array( NEWS_TABLE ) );

      $reccnt = count($temp);

      $pages = ceil( $reccnt / $psize );

      if( $pages > 1 ) {
        $sql .= ' limit '.$upr.','.$psize;
        if ( $cpage > 1 ) {

          $prev = $cpage - 1;

          $t->assign( 'prev', $prev );

        }

        if ( $cpage < $pages ) {

          $next = $cpage + 1;

          $t->assign ( 'next', $next );

        }
        $temp = array_slice($temp,$upr, $psize);
      }

      $t->assign ( 'cpage', $cpage );

      $t->assign ( 'pages',  $pages );

      $t->assign ( 'reccount',  $reccount );

      foreach( $temp as $index => $row ) {
        $row['date'] = date( get_lang('DISPLAY_DATE_FORMAT'), $row[date] );
        $arrtext = explode( ' ', stripslashes($row['text']), $config['length_story'] + 1);
        $arrtext[ $config['length_story'] ] = '';
        $row['text'] = trim(implode( ' ', $arrtext)) . '...';

        $data []= $row;
      }
      $t->assign( 'lang', $lang );

      $t->assign ( 'data', $data );
      unset($data, $temp, $row);
      $t->assign('rendered_page', $t->fetch('allnews.tpl') );
      break;

    case 'articles':

      $temp =& $osDB->getAll( 'SELECT * FROM ! order by dat desc', array( ARTICLES_TABLE ) );

      $reccnt = count($temp);
      $pages = ceil( $reccnt / $psize );
      if( $pages > 1 ) {
        if ( $cpage > 1 ) {

          $prev = $cpage - 1;

          $t->assign( 'prev', $prev );

        }

        if ( $cpage < $pages ) {

          $next = $cpage + 1;

          $t->assign ( 'next', $next );

        }
        $temp = array_slice($temp,$upr,$psize);
      }

      $t->assign ( 'cpage', $cpage );

      $t->assign ( 'pages',  $pages );

      $t->assign ( 'reccount',  $reccount );

      foreach( $temp as $index => $row ) {

        $row['dat'] = date( get_lang('DISPLAY_DATE_FORMAT'), $row['dat'] );
        $arrtext = explode( ' ', stripslashes($row['text']), $config['length_story'] + 1 );
        $arrtext[$config['length_story']] = '';
        $row['text'] = trim(implode( ' ', $arrtext)) . '...';

        $data []= $row;
      }
      $t->assign( 'lang', $lang );

      $t->assign ( 'data', $data );

      unset ($temp, $data, $row);

      $t->assign('rendered_page', $t->fetch('allarticles.tpl') );
      break;

    case 'showstory':

      $temp =& $osDB->getAll( 'SELECT * FROM ! where storyid = ?', array( STORIES_TABLE, $_GET['storyid'] ) );

      foreach( $temp as $index => $row ) {
        $row['username'] = $osDB->getOne( 'SELECT username FROM ! where id = ?', array( USER_TABLE, $row[sender] ) );

        $row['date'] = date( get_lang('DISPLAY_DATE_FORMAT'), $row[date] );
        $row['text'] = stripslashes($row['text']);

        $data []= $row;
      }
      $t->assign( 'lang', $lang );

      $t->assign ( 'data', $data );
      unset($data, $temp, $row);
      $t->assign('rendered_page', $t->fetch('fullstory.tpl') );
      break;

    case 'shownews':

      $temp =& $osDB->getAll( 'SELECT * FROM ! where newsid = ?', array( NEWS_TABLE, $_GET['newsid'] ) );

      foreach( $temp as $index => $row ) {
        $row['date'] = date(get_lang('DISPLAY_DATE_FORMAT'), $row[date] );
        $row['text'] = stripslashes($row['text']);
        $data []= $row;
      }
      $t->assign( 'lang', $lang );

      $t->assign ( 'data', $data );
      unset($data, $temp, $row);
      $t->assign('rendered_page', $t->fetch('fullnews.tpl') );
      break;

    case 'showarticle':
      $temp =& $osDB->getAll( 'SELECT * FROM ! where articleid = ?', array( ARTICLES_TABLE, $_GET['articleid'] ) );

      foreach( $temp as $index => $row ) {
        $row['dat'] = date( get_lang('DISPLAY_DATE_FORMAT'), $row[dat] );
        $row['text'] = stripslashes($row['text']);
        $data []= $row;
      }
      $t->assign( 'lang', $lang );

      $t->assign ( 'data', $data );
      unset($data, $temp, $row);
      $t->assign('rendered_page', $t->fetch('fullarticle.tpl') );
      break;

    case 'login':

      $t->assign('rendered_page', $t->fetch('login.tpl') );
      break;

    default:

      $row =& $osDB->getRow( 'SELECT * FROM ! where pagekey = ?', array( PAGES_TABLE, $_GET['page'] ) );

      if ( $row ) {
        $row['pagetext'] = str_replace('[Your Company]', $config['site_title'],stripslashes(stripslashes($row['pagetext'])));
        $index++;
      }
      $row['pagetext'] = str_replace("#CONTACTUS#",$siteurl.'feedback.php',$row['pagetext']);

      $row['pagetext'] = str_replace("#CANCEL#",$siteurl.'cancel.php',$row['pagetext']);
      $t->assign( 'lang', $lang );

      $t->assign ( 'data', $row );
      unset($row);
      $t->assign('rendered_page', $t->fetch('page.tpl') );
  }
}

if ( strlen( $_SERVER['QUERY_STRING'] ) <= 0 or $_SERVER['QUERY_STRING'] == 'affid='.$_GET['affid'] || $_SERVER['QUERY_STRING'] == 'lang='.$_GET['lang'] or(( $_GET['errid'] == NOT_YET_APPROVED or $_GET['errid'] == NOT_ACTIVE ) && $_SESSION['UserId'] > 0 ) ){

  $last_users = $config['no_last_new_users'];

  $list_newmembers_since_days = $config['list_newmembers_since_days'];

  if ($list_newmembers_since_days == '') $list_newmembers_since_days=0;

  $list_newmembers_since = strtotime("-$list_newmembers_since_days day",time());

  /* Modify the newest profile condition to be from last visit time if user is logged in */

  if ( $last_users > 0 ) {

    $newUsers =& $osDB->getAll( "SELECT *, floor((to_days(curdate())-to_days(birth_date))/365.25)  as age  FROM ! WHERE status in (?, ?)  and regdate >= ? ORDER BY regdate DESC LIMIT 0, $last_users", array( USER_TABLE , get_lang('status_enum','active'), 'active', $list_newmembers_since) );

    $list = array();

    foreach ($newUsers as $row) {

      /* Get countryname and statename */
      $row['statename'] = getStateName( $row['country'], $row['state_province']  );
      $row['countryname'] = getCountryName($row['country'] ) ;
      $list[] = $row;
    }

    $t->assign( 'users', $list );
    unset($newUsers, $list, $row);
  }

  if ($config['list_newmembers'] > 0) {
    /* Get list of latest 10 userid */

    $newUsersList =& $osDB->getAll( "SELECT id, username, allow_viewonline FROM ! WHERE status in (?, ?)  and regdate >= ? ORDER BY regdate DESC LIMIT 0,!", array( USER_TABLE, get_lang('status_enum','active'), 'active', $list_newmembers_since,$config['list_newmembers'] ));

    if (count($newUsersList) > 0) {
      $t->assign('newUsersList',$newUsersList);
    }
    unset($newUsersList);
  }

  if ($config['show_featured_profiles'] > 0 ) {

    $xid = ($_SESSION['UserId'] > 0)?$_SESSION['UserId']:'0';

    $list =& $osDB->getAll('select id, userid from ! where ? between start_date and end_date and req_exposures > exposures  and userid <> ? order by rand() limit 0, ! ', array( FEATURED_PROFILES_TABLE, time(), $xid,  $config['show_featured_profiles'] ) );

    $featured_profiles = array();

    foreach ($list as $usr) {

      $row =& $osDB->getRow('select *, floor((to_days(curdate())-to_days(birth_date))/365.25)  as age from ! where id = ? and status=?', array( USER_TABLE, $usr['userid'],'active' ) );

      if ($row){
        /* Get countryname and statename */
        $row['statename'] = getStateName( $row['country'], $row['state_province'] ) ;
        $row['countryname'] = getCountryName($row['country'] ) ;
        $featured_profiles[] = $row;
        $osDB->query('update ! set exposures = exposures + 1 where id = ?', array( FEATURED_PROFILES_TABLE, $usr['id'] ) );
      }
    }
    $t->assign('featured_profiles', $featured_profiles);
    unset($list, $featured_profiles, $row);

  }

  if ($_SESSION['UserId'] > 0 ) {

    /* Get some stats */

    $viewswinks_since_days = ($config['last_viewswinks_since']=='')?0:$config['last_viewswinks_since'];

    $viewswinks_since = strtotime("-$viewswinks_since_days day",time());

    if ($viewswinks_since > $_SESSION['lastvisit']) $viewswinks_since = $_SESSION['lastvisit'];

    if ($viewswinks_since < $_SESSION['regdate']) $viewswinks_since=$_SESSION['regdate'];

    $sql = 'select count(*) from ! where userid = ? and act_time >= ? and act = ?';

    $t->assign('profile_views', $osDB->getOne($sql, array( VIEWS_WINKS_TABLE, $_SESSION['UserId'], $viewswinks_since, 'V' ) ) );

    $t->assign('winks', $osDB->getOne($sql, array( VIEWS_WINKS_TABLE, $_SESSION['UserId'], $viewswinks_since, 'W' ) ) );

    $t->assign('new_messages', $osDB->getOne('select count(*) from ! where owner=? and recipientid = ? and flagread = 0 and folder = ?', array( MAILBOX_TABLE, $_SESSION['UserId'], $_SESSION['UserId'], 'inbox' ) ) );


    $usr = $osDB->getRow('select usr.levelend, usr.pictures_cnt, mem.name from ! usr, ! mem  where usr.id = ? and mem.roleid = usr.level', array(USER_TABLE, MEMBERSHIP_TABLE, $_SESSION['UserId']) );

    $levelend = $usr['levelend'];

    $end_date = strftime($lang['DATE_FORMAT'],$levelend);

    $t->assign('curlevel', $usr['name']);

    $diff=$levelend - (time()+0);

    $bal_days = round($diff/86400,0);

    if ($bal_days == -0) $bal_days=0;

    $t->assign('bal_days', $bal_days );

    $t->assign('end_date', $end_date );

    $t->assign('viewswinks_since', strftime($lang['DATE_FORMAT'],$viewswinks_since));

  }

  $t->assign('rendered_page', $t->fetch('homepage.tpl') );
}

if ($_GET['errid'] != '') {

  $t->assign('errid_message', get_lang('errormsgs',$_GET['errid']) );

  $_GET['errid_message'] = urlencode(get_lang('errormsgs',$_GET['errid']));
}

$lang['DATE_FORMAT'] = get_lang('DATE_FORMAT');

$t->assign('lang', $lang);

$t->display( 'index.tpl' );

exit();
?>

En fin de script il apelle la page d'affichage (index.tpl) et la page de membre (homepage.tpl qui se présente ainsi):

{strip}
<div align="center">
  {if $smarty.session.UserId == ''}
    {include file='special_offer.tpl'}
  {elseif $smarty.session.UserId > 0 }
    {* Show the statistics since last login  *}
    {include file='user_home_stats.tpl'}
  {/if}
  { if $config.show_featured_profiles > 0 && $featured_profiles}
    {* This is for showing the Featured Profiles  *}
    {include file='home_featured_profiles.tpl'}
  { /if }

 
  <br />
{include file="banner_mainpage.tpl"}
<br />
    </div>
{/strip}

#15 Re : Forum Général PHP » ouvrir 2 fenetre après identification » 29-09-2009 17:20:27

J'ais déjà essayé de voir sur leur forum ainsi que sur le forum anglophone mais je n'ais obtenu aucune réponse.
Je n'arrives pas à faire en sorte que lorsque les gens se connectent ils soient redirigés vers le chat et non vers la page de membre ( j'ais laissé tomber le principe des 2 pages).

#16 Re : Forum Général PHP » ouvrir 2 fenetre après identification » 29-09-2009 17:20:27

Parce que ce portail est plutot axé sur les templates les addons et l'install est que ma question est  sur la programmation même en php, le fait que ce soit un cms est un détail

#17 Forum Général PHP » ouvrir 2 fenetre après identification » 29-09-2009 17:20:27

webide67
Réponses : 10

Bonjour ,
J'utilises un cms (osdate) et je souhaites une fois que les gens se sont connectés avec leur pseudo et leur mot de passe ouvrir 2 pages en simultanée.
Le bout de code générant cela est:

if ($_SESSION['UserId'] > 0 ) {

    /* Get some stats */

    $viewswinks_since_days = ($config['last_viewswinks_since']=='')?0:$config['last_viewswinks_since'];

    $viewswinks_since = strtotime("-$viewswinks_since_days day",time());

    if ($viewswinks_since > $_SESSION['lastvisit']) $viewswinks_since = $_SESSION['lastvisit'];

    if ($viewswinks_since < $_SESSION['regdate']) $viewswinks_since=$_SESSION['regdate'];

    $sql = 'select count(*) from ! where userid = ? and act_time >= ? and act = ?';

    $t->assign('profile_views', $osDB->getOne($sql, array( VIEWS_WINKS_TABLE, $_SESSION['UserId'], $viewswinks_since, 'V' ) ) );

    $t->assign('winks', $osDB->getOne($sql, array( VIEWS_WINKS_TABLE, $_SESSION['UserId'], $viewswinks_since, 'W' ) ) );

    $t->assign('new_messages', $osDB->getOne('select count(*) from ! where owner=? and recipientid = ? and flagread = 0 and folder = ?', array( MAILBOX_TABLE, $_SESSION['UserId'], $_SESSION['UserId'], 'inbox' ) ) );


    $usr = $osDB->getRow('select usr.levelend, usr.pictures_cnt, mem.name from ! usr, ! mem  where usr.id = ? and mem.roleid = usr.level', array(USER_TABLE, MEMBERSHIP_TABLE, $_SESSION['UserId']) );

    $levelend = $usr['levelend'];

    $end_date = strftime($lang['DATE_FORMAT'],$levelend);

    $t->assign('curlevel', $usr['name']);

    $diff=$levelend - (time()+0);

    $bal_days = round($diff/86400,0);

    if ($bal_days == -0) $bal_days=0;

    $t->assign('bal_days', $bal_days );

    $t->assign('end_date', $end_date );

    $t->assign('viewswinks_since', strftime($lang['DATE_FORMAT'],$viewswinks_since));

  }

  $t->assign('rendered_page', $t->fetch('homepage.tpl') );
}

if ($_GET['errid'] != '') {

  $t->assign('errid_message', get_lang('errormsgs',$_GET['errid']) );

  $_GET['errid_message'] = urlencode(get_lang('errormsgs',$_GET['errid']));
}

$lang['DATE_FORMAT'] = get_lang('DATE_FORMAT');

$t->assign('lang', $lang);

$t->display( 'index.tpl' );

exit();
?>

Comment rajouter une page (chat.php) qui s'ouvrirais en même temps que homepage?

Merci d'avance

#18 Re : Forum Général PHP » redirection selon genre » 23-07-2009 15:46:23

J'ais fait comme cela le fichier register.php
PHP:

<?php

    /* Check Structure Availability */
    if (!defined("CORE_STRAP")) die("Out of structure call");
   

    $tpl = new template;
    $tpl -> Load("register");
   
        /* genre */
        if ($_SESSION["REGISTER"]["gender"]=="male") {
            header('Location:page_mec.php');
            }
            else if ($_SESSION["REGISTER"]["gender"]=="cpl") {
             header('Location:page_cpl.php');
            }
            else {
             header('Location:page_fille.php');


    }
        $tpl -> CleanZones();
        $tpl -> Flush();
   
?>

et sur le fichier tpl couplé (register.tpl) avec ce fichier php
Code:

 <!-- header --><!-- /header -->
<table width="100%" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td width="530"> </td>
    <td rowspan="2"> </td>
    <td width="290"> </td>
  </tr>
  <tr>
    <td width="530" valign="top"><!-- leftpane --><form method="post">
      <table width="100%" border="0" cellspacing="0" cellpadding="0">
        <tr>
          <td width="25"> </td>
          <td><h1>[Register {50}] </h1>
              <p>[Welcome! {7510}]   </p>
              <p> </p>
              <p>[Let's get  started! {7515}] </p>
              <p> </p><!-- breadcrumbs --><!-- /breadcrumbs --> </td>
        </tr>
        <tr>
          <td> </td>
          <td> </td>
        </tr>
        <tr>
          <td height="8" colspan="2"><img src="theme/default/images/frame/spacer.gif" alt="Spacer" height="8" /></td>
        </tr>
        <tr>
          <td colspan="2" background="theme/default/images/frame/block_border_top.gif" bgcolor="#AEC5FD"><img src="theme/default/images/frame/spacer.gif" alt="Spacer" height="14" /></td>
        </tr>
        <tr>
          <td bgcolor="#DCE6FF"> </td>
          <td bgcolor="#DCE6FF"> </td>
        </tr>
        <tr>
          <td bgcolor="#DCE6FF"> </td>
          <td bgcolor="#DCE6FF"><h2>[Please complete the following {7520}] </h2></td>
        </tr>
<tr>
                <td width="150" align="right" valign="top"><strong>[I Am A: {7550}]</strong> </td>
                <td align="left" valign="top"><select name="gender" id="gender">
                    <LOOP genderoption>
                      <option value="{gender}">{gender}</option>
                    </LOOP genderoption>
                </select></td>
              </tr>
 </table><!-- /rightpane --></td>
  </tr>
</table>
<!-- footer --><!-- /footer -->

La redirection s'effectue immédiatement et m'envoie sur la page page_fille.php .
Comment puis je faire pour que seuleument après avoir selectionné mon genre je suis redirigé vers la page souhaitée en cliquant sur un bouton par exemple

#19 Forum Général PHP » redirection selon genre » 23-07-2009 15:46:23

webide67
Réponses : 1

Bonjour,
Je suis en train de mettre en place un système de redirection selon le genre au niveau de l'inscription.
Le script fonctionne grace à deux fichiers (le fichier php qui gère et le fichier tpl qui affiche)
Sur le fichier php j'ais mis ces lignes pour gérer la redirection

/* Check verification code */
if (
!isset($_SESSION["REGISTER"]["code"]) ||
!isset($_SESSION["REGISTER"]["syscode"]) ||
$_SESSION["REGISTER"]["code"] != $_SESSION["REGISTER"]["syscode"]) {
$tpl -> Zone("error", "code");
} else {
/* Check age */
if (
!isset($_SESSION["REGISTER"]["bday"]) or
!isset($_SESSION["REGISTER"]["bmonth"]) or
!isset($_SESSION["REGISTER"]["byear"]) or
_fnc("age", $_SESSION["REGISTER"]["bmonth"]."/".$_SESSION["REGISTER"]["bday"]."/".$_SESSION["REGISTER"]["byear"]) < $CONF["USERS_MIN_AGE"]
) {
$tpl -> Zone("error", "age");
} else {
/* genre */
if ($_SESSION["REGISTER"]["gender"]=="male") {
header('Location:page_mec.php');
}
else if ($_SESSION["REGISTER"]["gender"]=="cpl") {
header('Location:page_cpl.php');
}
else {
header('Location:page_fille.php');
} else {
/* Form was correctly filled */

if (!isset($_SESSION["REG_ID"])) {

/* Set reference data */
if ($CONF["REGISTRATION_SAVE_REFERENCE"]) {
if ($CONF["REGISTRATION_REFERENCE:HTTP_REFERER"]) $refData = $_SERVER['HTTP_REFERER'];
else $refData = (isset($_GET["ref"])?$_GET["ref"]:NULL);
} else $refData = NULL;

et sur le fichier tpl c'est comme ça

<td align="left" valign="top"><select name="gender" id="gender">
<LOOP genderoption>
<option value="{gender}">{gender}</option>
</LOOP genderoption>
</select></td>

Seuleument lorsque je vais sur la page d'inscription j'ais droit à une page blanche et je ne vois pas ou est l'erreur.

merci d'avance pour vos réponses

Pied de page des forums

Propulsé par FluxBB