Finalmente ho finito il mio stupido test di hello world...
posto qui una variante utile per chi, come me, vuole avvicinarsi a AJSHP.
Si tratta di un aggiunta di un metodo alla classe esistente nella docummentazione del sito di ajshp
Il metodo non fa altro che fare un echo ripetuto n volte.
la parte php e' la seguente
Codice PHP:
<?php
// MyFirstAJSHP.class.php
class MyFirstAJSHP {
function AJSHP_SCHEMA() {
return array("encodeString","echo_n");
}
function encodeString($str, $times) {
if (!empty($str) && $times >0){
if(!is_int($times) || (int)$times <= 0)
$times = 1;
return str_repeat(base64_encode($str), (int)$times);
}
else
return "I campi sono obbligatori";
}
function echo_n($str,$times){
if (!empty($str) && $times >0){
$speek = 'Sto per dire > [b]'.$str.'[/b] [i]'.$times.'[/i] volte
';
for($i=1; $i<=$times; $i++)
$speek .= $i.'> '.$str.'
';
return $speek;
}
else
return "I campi sono obbligatori";
}
}
?>
La parte HTML e JS e' la seguente
codice:
<html>
<head>
<title>© AJSHP Project :: MyFirstAJSHP example</title>
<script type="text/javascript" src="jsclasses/AJSHP.js"></script>
<script type="text/javascript">
NetServices.setDefaultGatewayUrl('gateway/Gateway.class.php');
var connection = NetServices.createGatewayConnection();
var listener = new Object();
listener.onStatus = function(message) {
alert(message);
}
listener.onService = function(s) {
if(s == false)
alert('Error, PHP is not working correctly.');
this.enabled = s;
}
listener.encodeString_Result = function(v) {
if(document.getElementById)
document.getElementById('result').innerHTML = v;
}
listener.echo_n_Result = function(v){
if(document.getElementById)
document.getElementById('result_echo').innerHTML = v;
}
listener.encodeString_Progress = function(p) {
if(document.getElementById)
document.getElementById('progress').innerHTML =
p + '%';
}
listener.echo_n_Progress = function(p) {
if(document.getElementById)
document.getElementById('progress').innerHTML =
p + '%';
}
var service = connection.getService('MyFirstAJSHP', listener);
</script>
<script type="text/javascript">
function test_AJSHP() {
if(document.getElementById) {
if(service && listener.enabled) {
service.encodeString(
document.getElementById('ms').value,
parseInt(
document.getElementById('mi').value
)
);
}
}
else
alert('please upgrade your browser');
}
function test_AJSHP2() {
if(document.getElementById) {
if(service && listener.enabled) {
service.echo_n(
document.getElementById('ms').value,
parseInt(
document.getElementById('mi').value
)
);
}
}
else
alert('please upgrade your browser');
}
function resetta(){
document.getElementById('ms').value = '';
document.getElementById('mi').value = '';
document.getElementById('result').innerHTML = '';
document.getElementById('result_echo').innerHTML = '';
}
</script>
</head>
<body style="font-family:Arial, Helvetica, sans-serif; font-size:10px">
<div>
Che stringa vuoi ?
<input id="ms" type="text" maxlength="300" value="write something" />
Quante volte voi ripeterla??
<input id="mi" type="text" maxlength="5" value="10" />
<input type="button" value="TEST AJSHP >encode" onClick="test_AJSHP();" />
<input type="button" value="TEST AJSHP >echo" onClick="test_AJSHP2();" />
<input type="button" value="Reset" onClick="resetta()" />
AJSHP Progression: <span id="progress">0%</span>
<fieldset>
<legend>Test 1 > Codifica</legend>
<span id="result"></span>
</fieldset>
<fieldset>
<legend>Test 2 > Echo</legend>
<span id="result_echo"></span>
</fieldset>
</div>
</body>
</html>
e' una cosa molto stupida come vedete, ma secondo me utile per chi vuole capire come funziona...
ciao
P.S.1
Unico neo che ho riscontrato (per ora) e' che se ci sono degli errori nella classe php, lanciando la pagina non ti dice qual'e' e dove sta', ma ritorna semplicemente un alert dicendo che c'e' un problema nella parte di codice php.....
P.S.2
OT x andr3a
In futuro, se avro' dei problemi, posto qui su questo forum o ne hai uno personale che tratta ajshp?