Visualizzazione risultati 1 fino 5 di 5

Discussione: Miei script che girano su altervista ma in locale no: AIUTO

  1. #1
    L'avatar di RpgWorld
    RpgWorld non è connesso Utente giovane
    Data registrazione
    28-04-2003
    Messaggi
    74

    Predefinito 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

  2. #2
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    All'inizio dello script scrivi:
    Codice PHP:
    $func=$_GET['func'];
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  3. #3
    L'avatar di RpgWorld
    RpgWorld non è connesso Utente giovane
    Data registrazione
    28-04-2003
    Messaggi
    74

    Predefinito 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...
    Ultima modifica di dementialsite : 29-01-2007 alle ore 14.42.49

  4. #4
    L'avatar di dementialsite
    dementialsite non è connesso Super Moderatore
    Data registrazione
    19-10-2004
    Residenza
    fuori Padova
    Messaggi
    5,046

    Predefinito

    Citazione Originalmente inviato da RpgWorld
    ... 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 ?
    Quegli array ci sono da un po' in PHP, e il loro compito è proprio quello di distinguere i dati provenienti da un form (via GET o POST, a seconda del metodo dichiarato) da altre variabili con lo stesso nome. Su AlterVista coincidono, perché è abilitata una "variabile di sistema" chiamata "register_globals": in questo modo, scrivere "$numero" oppure "$_POST['numero']" è la stessa cosa. Nel tuo sistema locale probabilmente non l'hai attivata e per questo ti serve l'istruzione che ti ha passato funcool (o quella che ti sei ricavato da solo), che non fa altro che "replicare" il valore del modulo su una variabile interna.

    Stammi bene...
    Le questioni tecniche hanno risposte migliori nel forum pubblico, non trovi?

    When you don't know your next step... improvise

    ALTERVISTA WANTS YOU!
    Vuoi diventare moderatore su AlterVista? Scopri come...

  5. #5
    L'avatar di RpgWorld
    RpgWorld non è connesso Utente giovane
    Data registrazione
    28-04-2003
    Messaggi
    74

    Predefinito

    Grazie mille per la spiegazione ^_^

    Ora è tutto chiaro. Cmq adesso negli script utilizzierò gli arrei POST e GET cosi da rendere il codice pulito.

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •