Visualizzazione dei risultati da 1 a 10 su 10
  1. #1

    [PHP newbie]Strano errore

    Ciao

    sono alle prime esperienze col php e già un problema "grave"


    ho scaricato uno scritp di una semplice calcolatrice e, eseguendo il file come l'ho scaricato, mi compare questo erroe abbastanza "banale" ma che nn sto riuscendo a risolvere da solo.

    sono tutti concetti a me familiari(conosco c c++ e c#) ma nn riesco a districarmi!

    qualcuno mi aiuta?

    errore

    Notice: Undefined variable: submit1 in c:\programmi\apache group\apache\htdocs\index.php on line 38

    parte di codice incriminata
    codice:
    <hr>
    <h2>Simple</h2>
    <form action="<?php $PHP_SELF ?>" method="post">
    <input name="first" type="text" size="6" maxlength="10">
    <select name="method1">
    	<option value="add" selected>Add</option>
    	<option value="sub">Subtract</option>
    	<option value="multi">Multiply</option>
    	<option value="div">Divide</option>
    </select>
    <input name="second" type="text" size="6" maxlength="10">
    
    
    
    <input name="submit1" type="submit" value="Calculate">
    </form>
    <?php
    // Simple
    
    	if ($method1 == "add") {$ans = $first + $second;}
    	else if ($method1 == "sub") {$ans = $first - $second;}
    	else if ($method1 == "multi") {$ans = $first * $second;}
    	else if ($method1 == "div") {$ans = $first / $second;}
    
    $ans = number_format($ans, 2, ',', ' ');
    echo "
    
    The answer is $ans</p>";
    
    ?>
    è possibile che nn sia ben configurato php su apache o qualcosa del genere?

    ciauz e grazie
    Supermario

  2. #2
    ah dimenticavo che andando ad eseguire cmq il calcolo mi da questo errore

    Forbidden
    You don't have permission to access /
    Notice: Undefined variable: PHP_SELF in c:\programmi\apache group\apache\htdocs\index.php on line 24
    on this server.
    Supermario

  3. #3
    E' uno script per una versione ormai obsoleta di php.

    dovresti usare le variabili superglobali _POST e _SERVER

    $_SERVER['PHP_SELF']
    $_POST['var']

    http://forum.html.it/forum/showthrea...hreadid=245215


    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  4. #4
    ah VVoVe:

    quindi quella porzione di codice come va calcolata?

    grazie
    Supermario

  5. #5
    Originariamente inviato da Supermario
    ah VVoVe:

    quindi quella porzione di codice come va calcolata?

    grazie
    Come ti ho detto ....

    if ($method1 == "add") diventa
    if ($_POST['method1'] == "add") e cosi' tutti gli altri

    $_SERVER['PHP_SELF'] invece di $PHP_SELF


    leggi la pillola di chris....

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  6. #6
    sai che cambiando il codice nn cambia assolutamente nulla?

    codice:
    <h2>Simple</h2>
    <form action="<?php $_SERVER['PHP_SELF'] ?>" method="post">
    <input name="first" type="text" size="6" maxlength="10">
    <select name="method1">
    	<option value="add" selected>Add</option>
    	<option value="sub">Subtract</option>
    	<option value="multi">Multiply</option>
    	<option value="div">Divide</option>
    </select>
    <input name="second" type="text" size="6" maxlength="10">
    
    
    
    <input name="submit1" type="submit" value="Calculate">
    </form>
    <?php
    // Simple
    if ($submit1 == true) {
    	if ($_POST['method1'] == "add") {$ans = $first + $second;}
    	else if ($_POST['method1'] == "sub") {$ans = $first - $second;}
    	else if ($_POST['method1'] == "multi") {$ans = $first * $second;}
    	else if ($_POST['method1'] == "div") {$ans = $first / $second;}
    
    $ans = number_format($ans, 2, ',', ' ');
    echo "
    
    The answer is $ans</p>";
    }
    ?>
    Supermario

  7. #7
    codice:
    <?php
    // Simple
    if (isset($_POST['submit1']) AND $_POST['submit1'] == true )  {
      if ($_POST['method1'] == "add") { $ans = $_POST['first'] + $_POST['second'];}
      else if ($_POST['method1'] == "sub") {$ans = $_POST['first'] - $_POST['second'];}
      else if ($_POST['method1'] == "multi") {$ans = $_POST['first'] * $_POST['second'];}
      else if ($_POST['method1'] == "div") {$ans = $_POST['first'] / $_POST['second'];}
    
    $ans = number_format($ans, 2, ',', ' ');
    echo "
    
    The answer is $ans</p>";
    }
    ?>
    manco a dirtelo.... $_POST ci vuole per tutti i dati che sono passati dal form.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  8. #8
    eh alla fine l'avevo capito da solo che dovevo fare la stessa operazione per tutti i dati.



    per scrivere il risultato in un'altro TextField come dovrei fare?

    grazie
    Supermario

  9. #9
    apri un nuovo thread con titolo appropriato.

    e' gia' un caso che non ti abbiano chiuso questo.


    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  10. #10
    peccato non si possa modificare questo


    vabbè cmq ora apro un nuovo thd
    Supermario

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 © 2024 vBulletin Solutions, Inc. All rights reserved.