Ciao a tutti.
Il mio problema è il seguente: non riesco a capire perchè alcuni miei script in PHP su Altervista funzionano perfettamente mentre in locale no. Trovare con il vostro aiuto una soluzione mi aiuterebbe parecchio perchè in tal modo potrei effettuare i vari DEBUG non in linea senza la necessità di riuppare ogni modifica via FTP per ritestare il tutto.
Lo script che mi da problemi è il seguente:
Codice PHP:
<?php
###################################################
# IL CALCOLO DEL VERTIBILE
# By Sandro Cantagallo eternity@inwind.it
# Distribuito sotto licenza GPL
# Questo programma dato un numero N, ne calcola il vertibile.
###################################################
if ($func == NULL) { $func = inserisci; }
/* ======================================================
CALCOLO VERTIBILE - funzione inserimento numero
=======================================================*/
if ($func == "inserisci") {
?>
<H3>CALCOLA VERTIBILE</H3>
<p>Questo programma dato un numero N, ne calcola il vertibile.</p>
<form name="vertibile" method="post" action="calcolo_vertibile.php?func=calcola">
<fieldset id="dato">
<legend>Numero da analizzare</legend>
<p>
<label for="numero">Numero</label><input type="text" name="numero" id="numero" />
</p>
</fieldset>
<fieldset id="invia">
<legend>Invia i dati</legend>
<p><button type="submit" id="submit">Invia</button><button type="reset" id="reset">Cancella</button></p>
</fieldset>
</form>
<?
}
/* ========================================================
CALCOLO VERTIBILE - funzione calcola
========================================================*/
if ($func == "calcola") {
$decina = 10;
if ($numero == NULL) {
echo "Devi inserire un numero nel modulo";
exit;
}
echo "Inizio il calcolo del vertibile $numero";
if ($numero < 10) {
echo "<br />ERRORE: questo numero: $numero non è vertibile";
exit;
}
if ($numero > 90) {
echo"<br />ERRORE: questo numero: $numero non è valido";
exit;
}
while ($decina <= 90) {
$val_massimo = $decina + 9;
if (($numero >= $decina) && ($numero <= $val_massimo)) {
echo "<br />Il numero è compreso nella decina $decina adesso lo analizzo...";
$nuova_decina = $numero - $decina;
$nuova_decina = $nuova_decina * 10;
echo "<br />La nuova decina del vertibile sarà $nuova_decina";
echo "<br />Eseguo ulteriore controllo per vedere che non siano vertibili particolari...";
if ($nuova_decina == $decina) {
$nuova_decina = $nuova_decina + 9;
echo "<br />Il vertibile di $numero è $nuova_decina";
exit;
}
if ($nuova_decina == 90) {
$nuova_decina = $decina + ($decina / 10);
echo "<br />Il vertibile di $numero è $nuova_decina";
exit;
}
echo "<br />Non ho trovato vertibili particolari. Continuo con il calcolo...";
$nuova_decina = $nuova_decina + ($decina / 10);
echo "<br />Il vertibile di $numero è $nuova_decina";
exit;
}
$decina = $decina + 10;
}
}
/* ======================================================
CALCOLO VERTIBILE - fine script
======================================================= */
?>
Lo script in questione sul server Altervista funziona alla perfezione mentre in locale pur sembrando tutto OK: (ricevo solo due NOTICE Notice: Undefined variable: func in c:\programmi\easyphp1-8\www\lotto\calcolo_vertibile.php on line 8 - Notice: Use of undefined constant inserisci - assumed 'inserisci' in c:\programmi\easyphp1-8\www\lotto\calcolo_vertibile.php on line 8
che credo avrei ricevuto cmq anche su Altervista se non fossero "nascosti" alla vista). Quando poi vado a dare il numero e premo sul pulsante INVIA anche se il LINK reindirizza nella seguente maniera http://127.0.0.1/LOTTO/calcolo_verti...p?func=calcola Lo script è come se non ricevesse la variabile $func inserita nel LINK in pratica non assume che $func = calcola e quindi mi riporta alla schermata iniziale dello stesso.
Io non riesco a capirne il motivo e spero che qualcuno più esperto di me al riguardo possa aiutarmi. Premetto che utilizzo EASYPHP 1.8.0.1 e non ho mai configurato nulla nello stesso tutte le impostazioni sono quelle che il programma di defoult installa sia sul server che sul PHP.
Grazie in anticipo: il programma correttamente funzionante è in prova al seguente link: http://cieffe.altervista.org/lotto/c..._vertibile.php