8796 sujets

Développement web côté serveur, CMS

bonjour

Pouvez-vous me dire comment écire corectement et modifier ce bout de code pour que celui-ci renvoie la page vers une nouvelle page (donc un target ="blank" au lieu d eremplacer la page mère.

case 7 : 
                      $envoie="../annee-perso.htm"; 
                      break;


D'avance merci

Angélique
salut

je ne suis pas sûr d'avoir compris se que tu cherche à faire mais voilà deux solutions possibles

header("Location: ../annee-perso.htm");


ou


function neWindow(url,confirmation,message,nom,feature){
   if(message == undefined || message == '') message = 'ouverture dans une nouvelle fenetre.';
   if(confirmation == true && !window.confirm(message)) return true;
     if(typeof(url)!="string"){
        url.target = "_blank";
        return true;
     }
  else{
    if(nom == undefined) nom = 'w'+new Date().getTime();
      if(feature == undefined) feature = 'toolbar=yes,location=yes,status=yes,menubar=yes,scrollbars=yes,resizable=yes';
    window.open(url,nom,feature);
    return false;
  }
}


petit javascript pour contrer le target qui est aujourd'hui invalide et le lien qui l'utilise


$envoie = "../annee-perso.htm";
$envoie2 = 'onclick="return neWindow(this)"';
Bonjour

merci pour vos réponses mais cela ne fonctionne pas.

Dans ce cas précis j'essaye de faire en sorte que la page appelée aille dans uen fenêtre différente que la page mère qui elle est dans une popup.

En fonction de la variable c'est une page différente qui est appelée, cela marche parfaitmetn sauf pour cette histoire de cible.

Je vous redonne un code plus complet

if ($abonnementfini==false) {
              $_SESSION['nouveau']="0";
              switch ($produit){
                case 1 : 
                      $envoie="inter.php";
                      break;
                case 2 : 
                      $envoie="../enfor.htm";
                      break;
                case 3 : 
                      $envoie="../calculs-astrologie-suite_fichiers/astro_data/commander_ascendant.php";
                      break;
                case 4 : 
                      $envoie="../calculs-astrologie-suite_fichiers/astro_data/calcul_natal.php";
                      break;
                case 5 : 
                      $envoie="../compatibilite/sample.html";
                      break;
				case 6 : 
                      $envoie="../astrologie_lunaire.htm";
                      break;
				case 7 : 
                      $envoie = "../annee-perso.htm";
$envoie2 = 'onclick="return neWindow(this)"';

					  
                      break;
				 case 8 : 
                      $envoie="../elan-spirituel.htm";
                      break;
				 case 9 : 
                      $envoie="../astro_bebe.htm";
                      break;
				 case 10 : 
                      $envoie="../calcul_ch-vie.htm";
                      break;
              }
              @header("Location: ".$envoie);
          }else { 
                 if ($ticketfini==false) {
                    $_SESSION['nouveau']="0";
                     switch ($produit){
                      case 1 : 
                            $envoie="inter.php";
                            break;
					 case 2 : 
                          $envoie="../enfor.htm";
                           break;
                     case 3 : 
                      $envoie="../calculs-astrologie-suite_fichiers/astro_data/commander_ascendant.php";
                           break;
                     case 4 : 
                      $envoie="../calculs-astrologie-suite_fichiers/astro_data/calcul_natal.php";
                            break;
                     case 5 : 
                      $envoie="../compatibilite/sample.html";
                            break;
					 case 6 : 
                      $envoie="../astrologie_lunaire.htm";
                            break;
					 case 7 : 
                      $envoie="../annee-perso.htm";
					  $envoie2 = 'java-script="return neWindow(this)"';
                             break;
					 case 8 : 
                      $envoie="../elan-spirituel.htm";
                             break;
					 case 9 : 
                      $envoie="../astro_bebe.htm";
                             break;
					 case 10 : 
                      $envoie="../calcul_ch-vie.htm";
                             break;
                    }
                    @header("Location: ".$envoie);
                 }else { 
                         if ($carnetinter>0) {
                              $_SESSION['carnetinter']=$carnetinter;
                              $envoie="choix_paiement.php?inscript=1";//
                              @header("Location: ".$envoie); //redirige le visiteur 
                         } else { 
                                 if ($abonnement>0){
                                     $_SESSION['abonnement']=$abonnement;
                                     $envoie="choix_paiement.php?inscript=1";//
                                	   @header("Location: ".$envoie); //redirige le visiteur 
                                  } else {$messerr="Votre abonnement ou vos tickets sont fini. Vous devez vous reabonner.";}


Merci encore

Angélique
Bonjour,

Ce n'est pas possible de le faire en php (via header()).

Pour ouvrir une nouvelle fenêtre, il faut soit que l'utilisateur clique un lien avec un target="_blank" (ou équivalent javascript).
Inapliquable ici à mon avis.

Ou alors un javascript qui ouvre une fenêtre (mais celui-ci à de fortes chances de finir dans un bloqueur de pop-up x ou y).
Probablement possible ici en écrivant un morceau de javascript à la place de faire un header().


(NB: l'entrée de la FAQ sur ce sujet et les implications d'un target="_blank", particulièrement après "aller plus loin")
Modifié par Necromantik (30 Sep 2007 - 16:18)