Miei script che girano su altervista ma in locale no: AIUTO
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
non risolto completamente
Ciao grazie mille per la risposta ^_^
Purtroppo ho risolto solo parzialmente il problema. Grazie a quella riga di codice adesso lo script cattura il valore della variabile $func all'interno del link ma purtroppo non acquisisce il valore della variabile $numero ovvero del numero che va inserito dentro il FORM.
Ho provato a inserire appena sotto la riga di codice suggeritomi la seguente stringa: $numero=$_GET['numero'];
ma niente lo script non ne vuole proprio sapere di girare in locale...Inoltre volevo sapere se dipendeva dalla versione del PHP se lo script precedentemente realizzato funzionasse su altervista ma non sul mio server locale di prova.
Grazie ancora per l'aiuto attendo vostre risposte ^_^
*****
credo di aver capito il mio errore in quanto adesso tutto pare funzionare...
Codice PHP:
$numero=$_POST['numero'];
scrivendo questo mi funziona tutto ^_^
Ho un'altra piccola curiosità. Quando ho iniziato a interessarmi di PHP qualche anno fa sempre per qualche mio piccolo lavoretto personale leggendo le varie guide non mi sono mai inbattuto in questo tipo di ARRAY. Ma ci sono da tempo o sono stati implementati di recente ?
[DS] Non inviare messaggi consecutivi, usa la funzione EDIT del forum...