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

    script che s'interrompe in alcuni server in altri no.

    Salve,
    desidero chiedervi un aiuto in merito ad un problema relativo ad un file in php.
    Ho realizzato un sito www.itimottura.it con joomla.
    su questo sito al fine di effettuare pagaemnti online la società del gateway di pagamento mi ha fornito un file redirect.php che consente di effettuare il pagamento ai clienti del sito (per adesso in fase di test).
    questo file realizzato in php contiene pure uno script in javasript. purtroppo questo file inserito sulla directory princiaple o su altre directory si interrompe e non porta a conclusione lo script. I tecnici della società di gateway mi hanno fatto vedere lo stesso file sul loro sito
    http://ecommerce.iplusservice.it/redirect.php
    Dicendomi che da loro il file funziona e che probabilmente dipende dallo spazio hosting.
    Effettivamente da loro il file non si interrompe e porta a compimento lo script.
    Ho provato a mettere in una directory a parte al di fuori di joomla il file ma niente
    http://www.itimottura.it/leo/redirect.php
    come potete vedere s'interrompe.
    Visto che dentro lo scrpt php c'è anche un javascript potrebbero esserci problemi di incompaibilità?
    Non so cosa pensare.
    Può essere che magari ho settato qualcosa che rende incompatibile il file?
    Vi prego di aiutarmi non so più cosa fare.
    Grazie.
    saluti
    codice:
    <html>
      <head>
      <title> Test E-Commerce Key Client </title> 
     </head>  <body> 
       <form name='formKeyclient' method='post' action='?'> 
       INVIO DATI PER PAGAMENTI ON-LINE
    
     
     Caratteristiche di questa DEMO:
       - Metodo POST
    
       - Utilizzo del MAC
     
      - Restituzione esito via E-Mail con reeindirizzamento a URL scelto dal Cliente
    
      
      Dati da utilizzare nella pagina di Cassa:
       - N° Carta di Credito: 5255999999999992
     
      - N° di Sicurezza a scelta
       - Scadenza Carta di Credito: 01/2011
       - Nome e Cognome a scelta
    
    
        *************************************************
    
     
       Parametri passati alla pagina di Cassa - https://ecommerce.cim-italia.it/ecomm/DispatcherServlet :
       - alias = payment_testm_urlmac
     
      - importo = indicare 0,01 per ottenere esito positivo in ambiente di test, superiore a 1,00 in ambiente di produzione
     
      - divisa = EUR
       - languageId = ITA
    
       - url = indicare indirizzo completo che si desidera, ad es. "http://www.keyclient.it"
    
       - url_back = indicare indirizzo completo che si desidera, ad es. "http://www.keyclient.it" [Opzionale]
     
      - chiave segreta per il MAC = esempiodicalcolomac [Solo in fase di test, poi sarà comunicata]
     
      - importo =€<input type='text' name='euro' size='3' maxlength='5' value='0'>,
    <input type='text' name='cent' size='1' maxlength='2' value='00'> Cent  
    
      
     <input type='hidden' name='codTrans' value=''>   <input type='hidden' name='importo' value=''>  
     <input type='button' value='CONFERMA IMPORTO' onClick='EURO()'>  </form>  
     
     <script language="JavaScript">  
    	var dataOra = new Date(); 
     	var oggi = dataOra.toGMTString(); 
     	var codTrans = oggi.substr(5,20); 
     	document.forms['formKeyclient'].codTrans.value = codTrans;
    	  	function EURO() {  		var unit = document.formKeyclient.euro.value;  		var cent = document.formKeyclient.cent.value; 
     		var importo = unit+cent;  		document.forms['formKeyclient'].importo.value = importo;  	
    	document.formKeyclient.submit();  	}  </script> 
     <?php  if (isset($codTrans)){  	$alias = 'payment_testm_urlmac'; //per ambiente di test, da sostituire con quello comunicato da Key Client  	$importo ;  	$divisa = 'EUR';  	$languageId = 'ITA'; 
     	$url = 'http://www.keyclient.it';  	$url_back = 'http://www.keyclient.it';  	$chiaveMac = 'esempiodicalcolomac'; //per ambiente di test, da sostituire con quello comunicato da Key Client  	/**** CALCOLO DEL MAC ****/  	$str = 'codTrans='.$codTrans.'divisa='.$divisa.'importo='.$importo.$chiaveMac;  	$hash = md5($str);  	$b64 = base64_encode($hash);  	$urlEncode = urlencode($b64);  	$urlEncode1 = urlencode($urlEncode);	// da usare in alcuni casi con il metodo GET  	$mac = $urlEncode;  	/****   END   ****/  	echo " - importo = ".$importo."
    ";  	echo " - codTrans = ".$codTrans."
    ";  	echo " - chiaveMAC = ".$chiaveMac."
    "; 
     	echo " - Stringa MACcata = ".$str."
    
    "; 
     	echo " - MD5 calcolato = ".$hash."
    
    "; 
     	echo " - Base64 calcolato = ".$b64."
    
    "; 
     	echo " - MAC = ".$mac."
    
    
    "; 
     	echo "<form name='formKeyclient' method='post' action='https://ecommerce.cim-italia.it/ecomm/DispatcherServlet'> 
     				<input type='hidden' name='alias' value='$alias'>  	
    			<input type='hidden' name='importo' value='$importo'>  	
    			<input type='hidden' name='divisa' value='$divisa'>  
    				<input type='hidden' name='codTrans' value='$codTrans'>  
    				<input type='hidden' name='url' value='$url'>  
    				<input type='hidden' name='url_back' value='$url_back'>  	
    			<input type='hidden' name='languageId' value='$languageId'>  				<input type='hidden' name='mac' value='$mac'>  	
    			<input type='submit' value='EFFETTUA PAGAMENTO DI TEST' >  			</form>";  }  ?>  
      </body> 
     </html>

  2. #2
    Utente di HTML.it L'avatar di bubi1
    Registrato dal
    Dec 2009
    Messaggi
    1,230
    Di a quei cazzoni che register_globals di default e' off ormai dal lontano php 4.2.0, quindi che adeguino i loro script di esempio.

  3. #3

    risolto

    Salve, hai detto bene.
    Nonostante abia deto quanto dici tu, anzi ho aggiunto che dalla versine 6 di php non ci sarà più l'opzione on/off; a loro non gli e ne frega niente di niente.
    L'addetto mi ha risposto che loro realizzano delle pagine di accesso al pagamento come esempi. Sarà poi compito mio (o di altri disgraziati come me) personalizzare lo script o farne uno secondo i paramentri necessari.

    Io non c'è lo fatta!

    Ho detto che avrei fatto di tutto x convincere il cliente a cambiare gateway!
    Ti saluto e ti ringrazio x la risposta.

    P.S.
    come ho Risolto?
    Bisogna modficare le impostazioni è settare register_globals come on.
    Praticamente da quel momento il sito comparirà:
    anzichè: http://www.ciaoatutti.it/
    http://ciaoatutti.it/
    dico bene bubi1?

  4. #4
    Utente di HTML.it L'avatar di bubi1
    Registrato dal
    Dec 2009
    Messaggi
    1,230

    Re: risolto

    Originariamente inviato da leoforum2
    a loro non gli e ne frega niente di niente.
    Ci avrei scommesso

    Bisogna modficare le impostazioni è settare register_globals come on.
    Praticamente da quel momento il sito comparirà:
    anzichè: http://www.ciaoatutti.it/
    http://ciaoatutti.it/
    dico bene bubi1?
    La soluzione corretta sarebbe di modificare lo script in modo che funzioni senza
    register globals.
    Register globals non c'entra nulla con la presenza del www nel url. Semplicemente registra globalmente le variabili che arrivano da post/get..
    Ad esempio se tu nel html hai:
    <input name="ciccio" type="text">
    con register_globals=on, nel php puoi fare echo $ciccio. Mentre con register_globals=off, dovresti fare echo $_POST['ciccio'].

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.