Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    [AJAX] Visualizzare pagine sito

    Buon giorno, ho una curiosità.
    Il mio sito è php e carico le pagine attraverso un file controlli.php, attraverso l'invio di una richiesta per GET, questa pagina fa un controllo e richiama la pagina desiderata, visualizzandola al centro de sito, dato che non devo ricaricarlo ogni volta, ma basta solo la pagina che richiamo.

    codice:
    //menu
    Home
    Chi Siamo
    
    //controlli.php
    if ($_GET['p']=="home") {
    	include ('home.php');
    }
    elseif ($_GET['p']=="chisiamo") {
    	include ('chiSiamo.htm');
    }
    else{
           include ('home.php');
    }
    Vorrei rendere più veloce la richiesta di queste pagine senza dover ricaricare tutto il sito o parte di esso, per non stressare il server, dato che in questi giorni ci sono centinaia di accessi ed la banda per la connessione ne risente notevolmente rallentando l'accesso agli utenti.

    Se potete darmi una mano cortesemente, perchè ne ho disperato bisogno.
    Grazie ancora.
    Buona giornata

  2. #2
    ho trovato questo script che avevo scaricato un po' di tempo fà...
    la tecnologia è quella ahah:
    codice:
    <script language="javascript" src="ahahText.js"></script>
    <script>
    // ==========================================================================			 
    // @function		Complete AHAH function
    // @author		Daniele Florio
    // @site		www.gizax.it
    // @version		1.1.3 experimental
    
    // @thanksTo		Andrea Paiola,Walter Wlodarski,Scott Chapman
    
    // @updated 1.1.3 ( execJS function ) @thanks to Giovanni Zona
    
    // (c) 2006 Daniele Florio <daniele@gizax.it>
    
    // ==========================================================================
    
    
    var completeAHAH = {
    
    	loading : 'loading data...',
    
    	ahah : function (url, target, delay, method, parameters) {
    
    	  if ( ( method == undefined ) || ( method == "GET" ) || ( method == "get" ) ){
    			
    			this.creaDIV(target, this.loading);
    			
    			if (window.XMLHttpRequest) {
    				req = new XMLHttpRequest();
    			} 
    			else if (window.ActiveXObject) {
    				req = new ActiveXObject("Microsoft.XMLHTTP");
    			}
    			if (req) {
    				req.onreadystatechange = function() {
    					completeAHAH.ahahDone(url, target, delay, method, parameters);
    				};
    				req.open(method, url, true);
    				req.send("");
    			}
    		}
    		if ( (method == "POST") || (method == "post") ){
    
    			this.creaDIV(target, this.loading);
    
    			if (window.XMLHttpRequest) {
    				req = new XMLHttpRequest();
    			} 
    			else if (window.ActiveXObject) {
    				req = new ActiveXObject("Microsoft.XMLHTTP");
    			}
    			if (req) {
    				req.onreadystatechange = function() {
    					completeAHAH.ahahDone(url, target, delay, method, parameters);
    				};
    				req.open(method, url, true);
    				req.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    				req.send(parameters);
    			 }
    		}
    	},
    	
    	creaDIV : function (target, html){
    
    	   if (document.body.innerHTML){
    			   document.getElementById(target).innerHTML = html;
    	   }
    	   else if (document.getElementById){
    			   var element = document.getElementById(target);
    			   var range = document.createRange();
    
    			   range.selectNodeContents(element);
    			   range.deleteContents();
    			   element.appendChild(range.createContextualFragment(html));
    
    	   }
    	},
    
    	execJS : function (node) {
    
    		var st = node.getElementsByTagName('SCRIPT');
    		var strExec;
    
    		var bSaf = (navigator.userAgent.indexOf('Safari') != -1);
    		var bOpera = (navigator.userAgent.indexOf('Opera') != -1);
    		var bMoz = (navigator.appName == 'Netscape');
    
    		for(var i=0;i<st.length; i++) {     
    			if (bSaf) {
    			  strExec = st[i].innerHTML;
    			}
    			else if (bOpera) {
    			  strExec = st[i].text;
    			}
    			else if (bMoz) {
    			  strExec = st[i].textContent;
    			}
    			else {
    			  strExec = st[i].text;
    			}
    			try {
    			  eval(strExec);
    			} catch(e) {
    			  alert(e);
    			}
    		}
    
    	},	
    
    	ahahDone : function (url, target, delay, method, parameters) {		
    		if (req.readyState == 4) { 
    			element = document.getElementById(target);
    			if (req.status == 200) {
    
    				//this.creaDIV(target, req.responseText);
    				output = req.responseText;
    				document.getElementById(target).innerHTML = output;
    				var j = document.createElement("div");
    				j.innerHTML = "_" + output + "_";
    				this.execJS(j);
    
    			} 		
    			else {
    				this.creaDIV(target, "ahah error:\n"+req.statusText);
    			}
    		}
    	},
    
    	/*
    
    	@@ parameters : 
    	fileName	= name of your cgi or other
    	method		= GET or POST, default is GET
    	formName	= name of your form
    	dynamicTarget	= name of your dynamic Target DIV or other
    
    	@@ usage : 
    	<form id="formName" action="javascript:completeAHAH.likeSubmit('fileName', 'method', 'formName', 'dynamicTarget');">
    
    	*/
    
    	likeSubmit : function ( file, method, formName, target ) {
    
    		var the_form = document.getElementById(formName);
    		var num = the_form.elements.length;
    		var url = "?";
    		var radio_buttons = new Array();
    		var nome_buttons = new Array();
    		var check_buttons = new Array();
    		var nome_buttons = new Array();
    
    
    		// submit radio values
    		var j = 0;
    		var a = 0;
    		for(var i=0; i<the_form.length; i++){
    			var temp = the_form.elements[i].type;
    			if ( (temp == "radio") && ( the_form.elements[i].checked) ) { 
    				nome_buttons[a] = the_form.elements[i].name;
    				radio_buttons[j] = the_form.elements[i].value; 
    				j++; 
    				a++;
    			}
    		}
    		for(var k = 0; k < radio_buttons.length; k++) {
    			url += nome_buttons[k] + "=" + radio_buttons[k] + "&";
    		}
    
    		// submit checkbox values
    		var j = 0;
    		var a = 0;
    		for(var i=0; i<the_form.length; i++){
    			var temp = the_form.elements[i].type;
    			if ( (temp == "checkbox") && ( the_form.elements[i].checked) ) { 
    				nome_buttons[a] = the_form.elements[i].name;
    				check_buttons[j] = the_form.elements[i].value; 
    				j++; 
    				a++;
    			}
    		}
    		for(var k = 0; k < check_buttons.length; k++) {
    			url += nome_buttons[k] + "=" + check_buttons[k] + "&";
    		}
    
    		// submit all kind of input		
    		for (var i = 0; i < num; i++){	
    			var chiave = the_form.elements[i].name;
    			var valore = the_form.elements[i].value;
    			var tipo = the_form.elements[i].type;
    
    			if ( (tipo == "submit") || (tipo == "radio") || (tipo == "checkbox") ){}
    			else {
    				url += chiave + "=" + valore + "&";
    			}
    		}
    
    		var parameters = url;
    		url = file + "?" + url;
    
    		if (method == undefined) { 
    			method = "GET"; 	
    		}
    		if (method == "GET") { 
    			this.ahah(url, target, '', method, ''); 
    		}
    		else { 
    			this.ahah(file, target, '', method, parameters); 
    		}
    	}
    
    };
    ?>
    
    //nella pagina index.php
     <div id="content"><?php include('controlli.php')</div>
    
    <div id='navigation'> 
        <ul>[*]Home[*]PILLOLE
    
            
    
          [*]CONTENUTI
    
            
    
          [/list]
    
    //in controlli.php
    //controlli.php
    if ($_GET['p']=="home") {
    	include ('home.php');
    }
    elseif ($_GET['p']=="chisiamo") {
    	include ('chiSiamo.htm');
    }
    else{
           include ('home.php');
    }
    Insomma cosi facendo, risolvo il mio problema?
    grazie ancora

  3. #3
    riprendo questo post.
    Adesso non capisco questo problema.
    Praticamente richiamo la pagina attraverso Ajax aiutandomi con php in questo modo:
    codice:
    //link sul menu.php
    Home
    
    
    //pagina controlli.php che includo nell'index.php
    if ($_GET['p']=='home') {
    	include ('home.php');
    }
    // CHI SIAMO
    elseif ($_GET['p']=='chi_siamo') {
    	include ('ChiSiamo/chi_siamo.php');
    }
    else{
           include ('home.php');
    }
    
    //in chi_siamo.php
    
    <script type="text/javascript" src="Chi_siamo/script.js"></script>
    	<script type="text/javascript">
      	var sorter = new TINY.table.sorter("sorter");
    		sorter.head = "head";
    		sorter.asc = "asc";
    		sorter.desc = "desc";
    		sorter.even = "evenrow";
    		sorter.odd = "oddrow";
    		sorter.evensel = "evenselected";
    		sorter.oddsel = "oddselected";
    		sorter.paginate = true;
    		sorter.currentid = "currentpage";
    		sorter.limitid = "pagelimit";
    		sorter.init("table",1);
      </script>
    //Mi restituisce questo errore:TYNI is not defined
    Ma questa variabile è definita all'interno di script.js
    in questo modo:
    var TINY={};
    
    function T$(i){return document.getElementById(i)}
    function T$$(e,p){return p.getElementsByTagName(e)}
    
    TINY.table=function(){
    Nella pagina chi_siamo.php, richiamo uno script javascript per struttrare una tabella html, con i primi cinque risultati, ottenuti da una query SQL.
    Ora, non capisco come mai, includendo la pagina chi_siamo.php direttamente, senza l'aiuto del link e quindi di controlli.php, gli script non mi restituiscono nessun problema.
    Se invece, richiamo la pagina chi_siamo.php con il link e passo attraverso controlli.php, è come se gli script sono ignorati.
    Sono presenti all'interno della stessa pagina chi_siamo ma non riesce a vederli.
    E non credo sia problema di path perchè ho verificato...

    Sapete come mai si verifica sto problema?
    Grazie mille...
    Buona giornata.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.