Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12

Discussione: form php

  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    216

    form php

    ciao,
    mi poterste aiutare con un data base on line?
    Se cliccate qui www.raff5184.altervista.com/insert.php e provate a compilare il form lasciate la pass in bianco avete un messaggio di errore, cosa c'è che non va?

    Questo è il codice che genera l'errore:

    elseif (trim($articolo) == "" OR trim($testo) == ""):
    echo "I campi Titolo e Testo devono essere riempiti!";

    Devo darvi altri dettagli?

  2. #2
    Utente di HTML.it L'avatar di mariox
    Registrato dal
    Nov 2006
    Messaggi
    837
    prova così:
    Codice PHP:
    elseif (trim($articolo) == "" OR trim($testo) == ""){
    echo 
    "I campi Titolo e Testo devono essere riempiti!";


  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    216
    no, purtroppo mi da un errore di sintassi:

    Parse error: syntax error, unexpected '{'

  4. #4
    Hai seguito la guida di html.it? Se si, il codice corretto del file save.php è questo:

    Codice PHP:
    <?php
    include("config.inc.php");
    $mail=$_POST['mail'];
    $autore=$_POST['autore'];//imposto la variabile con il dato passato dal campo autore
    $testo=$_POST['testo'];
    $titolo=$_POST['titolo'];
    $giorno=$_POST['giorno'];
    $mese=$_POST['mese'];
    $anno=$_POST['anno'];
    $pass=$_POST['pass'];
    if (
    $pass != $password) {
        echo 
    "Password errata";
    } elseif (
    trim($titolo) == "" OR trim($testo) == "") {
        echo 
    "I campi Titolo e Testo devono essere riempiti!";
        } else {
        
    $titolo addslashes(stripslashes($titolo));
        
    $autore addslashes(stripslashes($autore));
        
    $mail addslashes(stripslashes($mail));
        
    $testo addslashes(stripslashes($testo));
        
    $titolo str_replace("<""&lt;"$titolo);
        
    $titolo str_replace(">""&gt;"$titolo);
        
    $autore str_replace("<""&lt;"$autore);
        
    $autore str_replace(">""&gt;"$autore);
        
    $testo str_replace("<""&lt;"$testo);
        
    $testo str_replace(">""&gt;"$testo);
        
    $testo nl2br($testo);
        
    $data mktime("0""0""0"$mese$giorno$anno);
        
    $db mysql_connect($db_host$db_user$db_password);
        if (
    $db == FALSE) {
            die (
    "Errore nella connessione. Verificare i parametri nel file config.inc.php");
        }
        
    mysql_select_db($db_name$db) or die ("Errore nella selezione del database. Verificare i parametri nel file config.inc.php");
        
    $query "INSERT INTO news (titolo, testo, data, autore, mail) VALUES ('$titolo', '$testo', '$data', '$autore', '$mail')";
        if (
    mysql_query($query$db)) {
            echo 
    "L'articolo è stato inserito correttamente";
            echo 
    "
    <a href=index.php>Torna alla pagina iniziale</a>
    "
    ;
            } else {
            echo 
    "Erorre durante l'inserimento";
            
    mysql_close($db);
        }
    }
    ?>

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    216
    si sto seguendo la guida di html. Il problema è che Ho creato 2 tabelle lezioni 13 e segg, per cui il codice che mi hai postato non le gestisce entrambe.
    Ora, sempre riguardo al file save.php mi da un errore di sintassi all'ultimo endif, cioè


    mysql_select_db($db_name, $db) or die ("Errore nella selezione del database. Verificare i parametri nel file config.inc.php");
    $query1 = "INSERT INTO news (titolo, testo, data, nome) VALUES ('$titolo', '$testo', '$data', '$autore')";
    $query2 = "INSERT IGNORE INTO autori (nome, mail) VALUES ('$autore', '$mail')";
    if (mysql_query($query1, $db) AND mysql_query($query2, $db))
    echo "L'articolo è stato inserito correttamente";
    else
    echo "Erorre durante l'inserimento
    $query";
    endif;
    foot();
    ?>

    Parse error: syntax error, unexpected T_ENDIF...

  6. #6
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    595
    Endif non esiste in php
    Le if si fanno in questo modo
    Codice PHP:
    if(condizione)
    {
    codice
    } else {
    codice
    }
    resto del codice 
    Se codice è DI UNA SOLA RIGA puoi omettere le parentesi
    Codice PHP:
    if(condizione)
      echo 
    "then";
    else 
      echo 
    "else";
    resto del codice 
    Le parentesi possono essere omesse anche in un solo ramo
    Codice PHP:
    if(condizione)
      echo 
    "then";
    else {
      echo 
    "else";
      echo 
    "else";
    }
    resto del codice

    oppure
    if(condizione)
    {
      echo 
    "then";
      echo 
    "then";
    } else
      echo 
    "else";
    resto del codice 

  7. #7
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    216
    E pure l'endif l'ho trovato stesso sulla guida.
    Comunque, in base ai tuoi suggerimenti l'ho cancellato ma ora mi da un errore di sintassi Parse error: syntax error, unexpected $end, subito dopo il tag di chiusura, ?>. Ho provato anche a dare invio dopo ?> ma viene rilevato sempre l'errore descritto

  8. #8
    Utente di HTML.it L'avatar di mariox
    Registrato dal
    Nov 2006
    Messaggi
    837
    prova così:
    Codice PHP:
    <?php 

    include("config.inc.php"); 
    $mail=$_POST['mail'];
    $autore=$_POST['autore'];
    $testo=$_POST['testo'];
    $titolo=$_POST['titolo'];
    $giorno=$_POST['giorno'];
    $mese=$_POST['mese'];
    $anno=$_POST['anno'];
    $pass=$_POST['pass'];
    if (
    $pass != $password) { 
        echo 
    "Password errata"
    } elseif (
    trim($titolo) == "" OR trim($testo) == "") { 
        echo 
    "I campi Titolo e Testo devono essere riempiti!"
        } else { 
        
    $titolo addslashes(stripslashes($titolo)); 
        
    $autore addslashes(stripslashes($autore)); 
        
    $mail addslashes(stripslashes($mail)); 
        
    $testo addslashes(stripslashes($testo)); 
        
    $titolo str_replace("<""&lt;"$titolo); 
        
    $titolo str_replace(">""&gt;"$titolo); 
        
    $autore str_replace("<""&lt;"$autore); 
        
    $autore str_replace(">""&gt;"$autore); 
        
    $testo str_replace("<""&lt;"$testo); 
        
    $testo str_replace(">""&gt;"$testo); 
        
    $testo nl2br($testo); 
        
    $data mktime("0""0""0"$mese$giorno$anno); 
        
    $db mysql_connect($db_host$db_user$db_password); 
        if (
    $db == FALSE) { 
            die (
    "Errore nella connessione. Verificare i parametri nel file config.inc.php"); 
        } 
        
    mysql_select_db($db_name$db) or die ("Errore nella selezione del database. Verificare i parametri nel file config.inc.php"); 
        
    $query "INSERT INTO news (titolo, testo, data, autore, mail) VALUES ('$titolo', '$testo', '$data', '$autore', '$mail')"
        if (
    mysql_query($query$db)) { 
            echo 
    "L'articolo è stato inserito correttamente"
            } else { 
            echo 
    "Erorre durante l'inserimento"
            
    mysql_close($db); 
        } 


    ?>

  9. #9
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    216
    ok, ora va grazie.
    Però mi da l'errore durante l'inserimento. Penultima istruzione.
    Cioè questa condizione mysql_query($query, $db) non viene rispettata...

  10. #10
    Utente di HTML.it L'avatar di mariox
    Registrato dal
    Nov 2006
    Messaggi
    837
    se puoi posta il codice

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.