Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2004
    Messaggi
    322

    Errore passaggio valori

    Ciao a tutti

    In un form da me creato

    codice:
    <form action="salva.php">
    <TABLE width="37%" border=1 cellspacing="5" cellpaddng="5" bgcolor="#1c445e" class="p1">
    <TR>
      <TD>Ragione sociale</TD>
      <TD><input type="text" style="width: 90%;" name="nome"></TD>
    </TR>
    <TR>
      <TD>Indirizzo</TD>
      <TD><input type="text" style="width: 90%;" name="via"></TD>
    </TABLE>
    </form>
    Mi viene eseguito il file salva.php che salva i dati del forum in un txt, ma ottengo anche questo errore

    Messaggio: Previsto ')'
    Linea: 27
    Carattere: 12
    Codice: 0
    URI: http://127.0.0.1/freshservice.it/cli...ce.it&x=45&y=9

    Dove la riga 27 è

    Codice PHP:
    <?php
    non capisco

  2. #2

    Re: Errore passaggio valori

    Originariamente inviato da ReWeNgE
    ...
    non capisco
    Neanch'io senza codice.
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2004
    Messaggi
    322
    Eccovi il codice

    Codice PHP:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

    <html>
    <head>

      <style type = "text/css">
        body { background-color: #1c445e; }
        a:link, a:visited, a:active, a:hover { text-decoration: none }
        .p1 { color: white; font-weight:bold; font-family:"GOTHIC"; }
      </style>

      <script>
        function error1() {
          alert('Le due password non corrispondono');
          location.reload('utente.html');
        }
        function error2() {
          alert('La vecchia password non corrisponde');
          location.reload('utente.html');
        }
        function save() {
          alert('Password modificata');
          location.reload('index.html');
        }
      </script>

    </head>

    <BODY>

    <p class="p1">

    <?php

    $pass1 
    = @$_GET['pass1'];
    $pass2 = @$_GET['pass2'];
    $pass3 = @$_GET['pass3'];

    if (
    $pass2 == $pass3) {

      
    $var file('../mdb-database/clienti.txt');
      
    $fc fopen('../mdb-database/clienti.txt''w+') or die('errore nell\'apertura del file');

      for(
    $r=0;$r<count($var);$r++) {
        
    $var[$r]=explode(";",$var[$r]);
        if (
    trim($var[$r][8]) == $pass1) {
          
    $var[$r][8] = $pass2;
          for(
    $i=0;$i<count($var);$i++) {
            
    fwrite($fc$var[$i][0]);
            
    fwrite($fc";");
            
    fwrite($fc$var[$i][1]);
            
    fwrite($fc";");
            
    fwrite($fc$var[$i][2]);
            
    fwrite($fc";");
            
    fwrite($fc$var[$i][3]);
            
    fwrite($fc";");
            
    fwrite($fc$var[$i][4]);
            
    fwrite($fc";");
            
    fwrite($fc$var[$i][5]);
            
    fwrite($fc";");
            
    fwrite($fc$var[$i][6]);
            
    fwrite($fc";");
            
    fwrite($fc$var[$i][7]);
            
    fwrite($fc";");
            
    fwrite($fc$var[$i][8]);
            
    fwrite($fc"\n");
            
    fclose($fc);
          }
          echo 
    "<script>save()</script>";
        } else { 
          echo 
    "<script>error2()</script>";
          return 
    0;
        }
      }
    }

    if (
    $pass2 <> $pass3) {
      echo 
    "<script>error1()</script>";
    }

    ?>

    </body>
    </html>

  4. #4
    Utente di HTML.it
    Registrato dal
    Nov 2004
    Messaggi
    322
    Scusate ma ho sbagliato a postare file

    Il file corretto è il seguente

    Codice PHP:
    <?php
    $nome 
    = @$_GET['nome'];
    $via = @$_GET['via'];
    $paese = @$_GET['paese'];
    $piva = @$_GET['piva'];
    $tel = @$_GET['tel'];
    $fax = @$_GET['fax'];
    $sito = @$_GET['sito'];
    $mail = @$_GET['mail'];

    $ran1 = array(48,57);
    $ran2 = array(65,90);
    $ran3 = array(97,122);
    $ran4 = array($ran1,$ran2,$ran3);

    for (
    $i=0;$i<8;$i++) {
      
    $ran $ran4[rand(0,2)];
      
    $pass $pass.chr(rand($ran[0],$ran[1]));
    }

    if (
    $nome != '') {
      
    $clienti '../mdb-database/clienti.txt';
      
    $fc fopen($clienti'a+') or die('errore nell\'apertura del file');
      
    fwrite($fc$nome.';'.$via.';'.$paese.';'.$piva) or die('errore nella scrittura del file');
      
    fwrite($fc";");
      
    fwrite($fc$tel);
      
    fwrite($fc";");
      
    fwrite($fc$fax);
      
    fwrite($fc";");
      
    fwrite($fc$sito);
      
    fwrite($fc";");
      
    fwrite($fc$mail);
      
    fwrite($fc";");
      
    fwrite($fc$pass);
      
    fwrite($fc"\n");
      
    fclose($fc);
    } else {
      echo 
    'errore nel form, probabilmente lasciato qualche spazio bianco';
    }

    echo 
    "<script>register($pass)</script>";?>
    Il fatto è che il file che ho appena postato, salva.php viene eseguito e le informazioni del form vengono salvate correttamente ma poi ricevo quell'errore..

    Adesso ho provato a rieseguire la pagina senza modificare niente e ricevo

    codice:
    Messaggio: 'AME8d8Zh' non è definito
    Linea: 27
    Carattere: 1
    Codice: 0
    URI: http://127.0.0.1/freshservice.it/cli...e.it&x=31&y=16
    Praticamente 'AME8d8Zh' è la password che genero casualmente e passo a salva.php per essere registrata nel file..

  5. #5
    Basta guardare i colori dello script da te postato per rendersi conto che ci sono dei problemi con gli apici.

    Qui:
    Codice PHP:
    ...
    $fc fopen($clienti'a+') or die('errore nell'apertura del file'); 
    ... 
    che dovrebbe essere:

    Codice PHP:
    ...
    $fc fopen($clienti'a+') or die("errore nell'apertura del file"); 
    ... 
    e qui:

    Codice PHP:
    ...
    echo 
    'errore nel form, probabilmente lasciato qualche spazio bianco; 
    ... 
    dove addirittura manca l'apice alla fine:

    Codice PHP:
    ...
    echo 
    'errore nel form, probabilmente lasciato qualche spazio bianco'
    ... 
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  6. #6
    Utente di HTML.it
    Registrato dal
    Nov 2004
    Messaggi
    322
    Magari fosse un problema di apici anche perché se mancassero avrei un errore di sintassi molto prima infatti il codice da quel punto di vista è corretto..

    E' un problema del forum, ve lo dimostro allegando un screen del file ed il codice incollato tra i PHP

    Codice PHP:
    <?php
    if ($nome != '') {
      
    $utenti '../mdb-database/utenti.txt';
      
    $fc fopen($utenti'a+') or die('errore nell\'apertura del file');
      
    fwrite($fc$nome.';'.$via.';'.$paese.';'.$piva) or die('errore nella scrittura del file');
      
    fwrite($fc";");
      
    fwrite($fc$tel);
      
    fwrite($fc";");
      
    fwrite($fc$fax);
      
    fwrite($fc";");
      
    fwrite($fc$sito);
      
    fwrite($fc";");
      
    fwrite($fc$mail);
      
    fwrite($fc";");
      
    fwrite($fc$pass);
      
    fwrite($fc"\n");
      
    fclose($fc);
    } else {
      echo 
    'errore nel form, probabilmente lasciato qualche spazio bianco';
    }

    echo 
    "<script>register($pass)</script>";?>


    Vedete?
    Gli apici che nel codice che ho riportato mancano, in realtà ci sono
    E prima dell'apice utilizzato come apostrofo ho inserito un \

    Come la si spiega questa adesso?

  7. #7
    Utente di HTML.it
    Registrato dal
    Nov 2004
    Messaggi
    322
    Ho scoperto che il problema è qua

    Codice PHP:
    echo "<script>register($pass)</script>"
    Se tolgo la variabile non mi da errore.. ma poi mi manca quel valore

    Codice PHP:
    echo "<script>register()</script>"
    Come posso passarlo alla funzine jscript?

  8. #8
    E dov'è che dichiari la funzione register() ?
    E comunque è ovvio che ti restituisce errore, quando il codice che hai scritto viene interpretato viene restituita uan cosa del genere:

    codice:
    ...
    <script>register(AME8d8Zh)</script>
    ...
    ed ovviamente la variabile AME8d8Zh non esiste, forse volevi ottenere una cosa del tipo:

    codice:
    ...
    <script>register('AME8d8Zh')</script>
    ...
    nel qual caso avresti dovuto scrivere:

    Codice PHP:
    ...
    echo 
    "<script>register('$pass')</script>";
    ... 
    ed in ogno caso l'errore che ricevi (quello alla riga 27) è un errore javascript e quindi la riga devi cercarla sul codice htmt prodotto dallo script (visualizza sorgente pagina) e non sul codice PHP.
    E se mgari lo dicevi prima avremmo risparmiato del tempo
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  9. #9
    Utente di HTML.it
    Registrato dal
    Nov 2004
    Messaggi
    322
    AH !

    Non la sapevo questa cosa del file sorgente da controllare

    Grazie
    Tanto!

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.