Visualizzazione dei risultati da 1 a 8 su 8

Discussione: [PHP]Esercizio

  1. #1
    Utente di HTML.it L'avatar di Armun
    Registrato dal
    Jan 2012
    Messaggi
    55

    [PHP]Esercizio

    Ragazzi sto facendo un esercizio.Sono nuovo del php. Volevo fare una form con due campi testo vuoti in cui scrivo due numeri(uno per ogni campo) e tramite l opportuno tasto mi calcola la somma dei due numeri e me la scrive sotto.Funziona pero prima di inserire i numeri mi visualizza la pagina correttamente ma la dove apparira il risultatao mi dice

    Notice: Undefined variable:......

    Appena inserisco i valori numerici funziona

    Perche all inizio mi da quell errore sulla pagina?

    Il codice e

    Somma due numeri
    <form method="get">
    <input type="text" name="primo" value=0 maxlength="50" />
    <input type="text" name="secondo" value=0 maxlength="50" />
    <input type="submit" value="calcola" />

    <?php

    print "Risultato
    ";
    if($primo==null && $secondo==null){
    $primo=0;
    $secondo=0;
    }
    else{


    $primo=$_GET["primo"];
    $secondo=$_GET["secondo"];
    }
    $tot=$primo+$secondo;
    print "$tot";
    ?>
    </form>

  2. #2
    Utente di HTML.it L'avatar di jcsnake
    Registrato dal
    Jun 2010
    Messaggi
    629
    Ciao, invece di troncare il messaggio di errore
    Notice: Undefined variable:......
    scrivilo per intero, perchè è proprio lì che si trova la soluzione

  3. #3
    Utente di HTML.it L'avatar di Armun
    Registrato dal
    Jan 2012
    Messaggi
    55
    <?php
    $username=$_POST["username"];
    $password=$_POST["password"];

    $primo=0;
    $secondo=0;
    $connessione= mysql_connect ("localhost:3306", "root",
    "root")
    or die("Connessione non riuscita");

    mysql_select_db("euclide")or die("Selezione del database non
    riuscita");

    $query= "select utenti.nome from utenti where utenti.username='$username' and utenti.password='$password'";

    $risultato= mysql_query($query) or die("Query fallita");

    while ($linea = mysql_fetch_array($risultato, MYSQL_ASSOC)) {
    print "\t<tr>\n";
    foreach ($linea as $valore_colonna) {
    print "Benvenuto \t\t<td>$valore_colonna</td>\n";
    }

    }

    /* Liberazione delle risorse del risultato */
    mysql_free_result($risultato);
    /* Chiusura della connessione */
    mysql_close($connessione);





    ?>


    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <meta http-equiv="Content-Language" content="en" />
    <meta name="GENERATOR" content="PHPEclipse 1.2.0" />
    <title>title</title>
    </head>
    <body>


    Ora esegui le operazioni che vuoi






    Somma due numeri
    <form method="post">
    <input type="text" name="primo" maxlength="50" />
    <input type="text" name="secondo" maxlength="50" />
    <input type="submit" value="calcola" />

    <?php

    print "Risultato
    ";



    $primo=$_POST["primo"];
    $secondo=$_POST["secondo"];

    $tot=$primo+$secondo;
    print "$tot";
    ?>
    </form>





    Logout

    </body>
    </html>

  4. #4
    Utente di HTML.it L'avatar di jcsnake
    Registrato dal
    Jun 2010
    Messaggi
    629
    Credo tu abbia fatto un po' di confusione...il codice che hai postato appartiene tutto a una singola pagina php?

  5. #5
    Utente di HTML.it L'avatar di Armun
    Registrato dal
    Jan 2012
    Messaggi
    55
    si e tutta una pagina. Nel primo intervento avevo postato quello sbagliato. La parte in cui interroga il db non considerarla che funziona. Il problema e che riconosce le variabili


    $primo=$_POST["primo"];
    $secondo=$_POST["secondo"];

    solo dopo aver cliccato "submit" , giustamente , e non prima.

    Come faccio a fargliele riconoscere e valorizzare prima?
    Ho provato a inizializzarle a zero all'inizio del codice ma nulla

  6. #6
    Utente di HTML.it L'avatar di Armun
    Registrato dal
    Jan 2012
    Messaggi
    55
    anche perche poi gli assegna sempre il valore
    $primo=$_POST["primo"];
    $secondo=$_POST["secondo"];

  7. #7
    Utente di HTML.it L'avatar di jcsnake
    Registrato dal
    Jun 2010
    Messaggi
    629
    Beh non le riconosce perchè al primo caricamento della pagina in effetti queste variabili non esistono...vengono create solo quando tu fai il submit del form...infatti per evitare questo caso prima si deve fare un controllo sull'effettiva esistenza di queste variabili con l'utilizzo della funzione isset(), prova così

    Codice PHP:
    <?php

    $primo
    =0;
    $secondo=0;
    $connessionemysql_connect ("localhost:3306""root",
    "root")
    or die(
    "Connessione non riuscita");

    mysql_select_db("euclide")or die("Selezione del database non
    riuscita"
    );

    $query"select utenti.nome from utenti where utenti.username='$username' and utenti.password='$password'";

    $risultatomysql_query($query) or die("Query fallita");

    while (
    $linea mysql_fetch_array($risultatoMYSQL_ASSOC)) {
    print 
    "\t<tr>\n";
    foreach (
    $linea as $valore_colonna) {
    print 
    "Benvenuto \t\t<td>$valore_colonna</td>\n";
    }

    }

    /* Liberazione delle risorse del risultato */
    mysql_free_result($risultato);
    /* Chiusura della connessione */
    mysql_close($connessione);





    ?>


    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <meta http-equiv="Content-Language" content="en" />
    <meta name="GENERATOR" content="PHPEclipse 1.2.0" />
    <title>title</title>
    </head>
    <body>


    Ora esegui le operazioni che vuoi






    Somma due numeri
    <form method="post">
    <input type="text" name="primo" maxlength="50" />
    <input type="text" name="secondo" maxlength="50" />
    <input type="submit" value="calcola" />

    <?php 

    print "Risultato 
    "
    ;


    if(isset(
    $_POST["primo"]))
    $primo=$_POST["primo"];
    if(isset(
    $_POST["secondo"]))
    $secondo=$_POST["secondo"];

    $tot=$primo+$secondo;
    print 
    "$tot";
    ?>
    </form>





    [url="index.html"]Logout[/url]

    </body>
    </html>

  8. #8
    Utente di HTML.it L'avatar di Armun
    Registrato dal
    Jan 2012
    Messaggi
    55
    Ottimo grazie mille

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.