Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2008
    Messaggi
    8

    unexpected $end ancora...

    ragazzi,vi posto il codice perchè proprio non capisco dove ho sbagliato...

    <?php
    $i=0;
    $nome=$_POST['nome'];
    $cognome=$_POST['cognome'];
    $datan=$_POST['datan'];
    $numtel=$_POST['numtel'];
    $luogonascita=$_POST['luogonascita'];
    $corso=$_POST['corso'];
    if (strlen($nome)==0)
    { echo('');echo('Inserire il nome!');echo('
    ');}
    else { if (strlen($cognome)==0){echo('');echo('Inserire il cognome!');echo('
    ');}
    else { if (strlen($datan)==0){echo('');echo('Inserire la data di nascita formato gg/mm/aaaa es 14/12/1980');echo('
    ');}
    else { if (strlen($numtel)==0){echo('');echo('Inserire il numero di telefono!');echo('
    ');}
    else { if (strlen($luogonascita)==0){echo('');echo('Inserire il luogo di nascita!');echo('
    ');}
    else { if (strlen($corso)==0){echo('');echo('Inserire il corso al quale si desidera partecipare!');echo('
    ');}
    else {echo('I dati sono stati inseriti in modo corretto,si procede alla registrazione');$i=1;}}}}}}
    if ($i==1)
    { $server="bla";$user="bla";$passwd="bla"; //dati per la connessione
    $connection=mysql_connect($server,$user,$passwd) or die('errore connessione al database');exit();
    mysql_select_db("equipeemiliajudo"); //selezione database
    $sqlstr="INSERT INTO iscritti(nome,cognome,datan,numtel,luogonascita,co rso)";
    $sqlstr.="VALUES($nome,$cognome,$datan,$numtel,$lu ogonascita,$corso);
    }

    ?>

    In sostanza il codice dovrebbe controllare che tutti i campi obbligatori siano stati compilati e successivamente li registra sul database.
    Vi ringrazio in anticipo.

  2. #2
    Utente di HTML.it L'avatar di Gab-81
    Registrato dal
    Nov 2005
    Messaggi
    558
    Intanto c'è un exit() a seguito di un die() che non mi convince affatto...cmq che problemi ti da???


  3. #3
    Utente di HTML.it L'avatar di dottwatson
    Registrato dal
    Feb 2007
    Messaggi
    3,012
    non capisco con che logica tu abbia fatto tutto questo annidamento di if...

    ecco quello che proponi tu...(reso leggibile)
    Codice PHP:
    <?php
    $i            
    =0;
    $nome         =$_POST['nome'];
    $cognome      =$_POST['cognome'];
    $datan        =$_POST['datan'];
    $numtel       =$_POST['numtel'];
    $luogonascita =$_POST['luogonascita'];
    $corso        =$_POST['corso'];
    if (
    strlen($nome)==0)
      { 
      echo(
    '[b]');
      echo(
    'Inserire il nome!');
      echo(
    '[/b]
    '
    );
      }
    else 
      { 
      if (
    strlen($cognome)==0)
        {
        echo(
    '[b]');
        echo(
    'Inserire il cognome!');
        echo(
    '[/b]
    '
    );
        }
      else 
        { 
        if (
    strlen($datan)==0)
        {
        echo(
    '[b]');
        echo(
    'Inserire la data di nascita formato gg/mm/aaaa es 14/12/1980');
        echo(
    '[/b]
    '
    );
        }
      else 
        { 
        if (
    strlen($numtel)==0)
          {
          echo(
    '[b]');
          echo(
    'Inserire il numero di telefono!');
          echo(
    '[/b]
    '
    );
          }
        else 
          { 
          if (
    strlen($luogonascita)==0)
            {
            echo(
    '[b]');
            echo(
    'Inserire il luogo di nascita!');
            echo(
    '[/b]
    '
    );
            }
          else 
            { 
            if (
    strlen($corso)==0)
              {
              echo(
    '[b]');
              echo(
    'Inserire il corso al quale si desidera partecipare!');
              echo(
    '[/b]
    '
    );
              }
            else 
              {
              echo(
    'I dati sono stati inseriti in modo corretto,si procede alla registrazione');
              
    $i=1;
              }
            }
          }
        }
      }
    }
    if (
    $i==1)
      { 
      
    $server="bla";
      
    $user="bla";
      
    $passwd="bla"//dati per la connessione
      
    $connection=mysql_connect($server,$user,$passwd) or die('errore connessione al database');exit();
      
    mysql_select_db("equipeemiliajudo"); //selezione database
      
    $sqlstr="INSERT INTO iscritti(nome,cognome,datan,numtel,luogonascita,corso)";
      
    $sqlstr.="VALUES($nome,$cognome,$datan,$numtel,$luogonascita,$corso)";
      }

    ?>
    ed ecco cosa ti propongo io ... (leggibilissimo e comprensibile)
    Codice PHP:
    <?php
    $i            
    =0;
    $nome         =$_POST['nome'];
    $cognome      =$_POST['cognome'];
    $datan        =$_POST['datan'];
    $numtel       =$_POST['numtel'];
    $luogonascita =$_POST['luogonascita'];
    $corso        =$_POST['corso'];

    if (
    strlen($nome)==0)
      { 
      echo(
    '[b]');
      echo(
    'Inserire il nome!');
      echo(
    '[/b]
    '
    );
      }
    elseif (
    strlen($cognome)==0)
      {
      echo(
    '[b]');
      echo(
    'Inserire il cognome!');
      echo(
    '[/b]
    '
    );
      } 
    elseif (
    strlen($datan)==0)
      {
      echo(
    '[b]');
      echo(
    'Inserire la data di nascita formato gg/mm/aaaa es 14/12/1980');
      echo(
    '[/b]
    '
    );
      }
    elseif (
    strlen($numtel)==0)
      {
      echo(
    '[b]');
      echo(
    'Inserire il numero di telefono!');
      echo(
    '[/b]
    '
    );
      }
    elseif (
    strlen($luogonascita)==0)
      {
      echo(
    '[b]');
      echo(
    'Inserire il luogo di nascita!');
      echo(
    '[/b]
    '
    );
      }
    elseif (
    strlen($corso)==0)
      {
      echo(
    '[b]');
      echo(
    'Inserire il corso al quale si desidera partecipare!');
      echo(
    '[/b]
    '
    );
      }
    else 
      {
      echo(
    'I dati sono stati inseriti in modo corretto,si procede alla registrazione');
      
    $i=1;
      }


    if (
    $i==1)
      { 
      
    $server="bla";
      
    $user="bla";
      
    $passwd="bla"//dati per la connessione
      
    $connection=mysql_connect($server,$user,$passwd) or die('errore connessione al database');
      
    mysql_select_db("equipeemiliajudo"); //selezione database
      
    $sqlstr="INSERT INTO iscritti(nome,cognome,datan,numtel,luogonascita,corso)";
      
    $sqlstr.="VALUES($nome,$cognome,$datan,$numtel,$luogonascita,$corso)";
      }

    ?>
    scrivere BENE il codice è importantissimo, aiuta a non aver aiuto degli altri
    Non sempre essere l'ultimo è un male... almeno non devi guardarti le spalle

    il mio profilo su PHPClasses e il mio blog laboweb

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2008
    Messaggi
    8
    grazie mille,adesso funziona ma il problema che nasce è un altro.

    {
    $server="mmm";
    $user="mmm";
    $passwd="mmm"; //dati per la connessione
    $connection=mysql_connect($server,$user,$passwd) or die('errore connessione al database');
    mysql_select_db("equipeemiliajudo"); //selezione database
    $sqlstr="INSERT INTO 'iscritti'(nome,cognome,datan,numtel,luogonascita, corso)";
    $sqlstr.="VALUES($nome,$cognome,$datan,$numtel,$lu ogonascita,$corso)";
    if (!mysql_query($sqlstr))
    { echo('Errore nella procedura di registrazione,riprovare ed eventualmente contattare il webmaster');
    exit();
    }
    echo('Iscrizione avvenuta con successo,verrete contattati al più presto sul numero specificato.');
    mysql_close($connection);
    }

    al momento dell'esecuzione mi dice che c'è un errore nella procedura di registrazione,il codice della query mi sembra corretto.
    Grazie ancora

  5. #5
    penso che l'errore sia nel fatto che nella query SQL i valori stringa devono essere racchiusi fra apici, se non lo fai ecco l'errore, cioè

    $sqlstr="INSERT INTO 'iscritti'(nome,cognome,datan,numtel,luogonascita, corso)";
    $sqlstr.="VALUES('$nome','$cognome','$datan','$num tel','$luogonascita','$corso')";

    se definisci un campo come stringa e dopo VALUES non lo racchiudi fra apici allora il parser SQL presuppone che stai trattando un numero; ma siccome il campo è di tipo stringa...

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2008
    Messaggi
    8
    Era una buona idea(e ti ringrazio),ho provato a mettere anche i doppi apici per vedere se avesse utilizzato il valore all'interno della variabile,ma niente,non riesco proprio a capire cosa non va. Altre idee?

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.