Pagina 2 di 3 primaprima 1 2 3 ultimoultimo
Visualizzazione dei risultati da 11 a 20 su 27
  1. #11
    Utente di HTML.it L'avatar di zakros
    Registrato dal
    Oct 2000
    Messaggi
    509
    Prova cosi:

    Codice PHP:
    <? include("top_foot.inc.php"); 
    include(
    "config.inc.php"); 
    top(); 
    if (
    $pass != $password/*controllo della password*/ 

        echo 
    "Password errata"


    /*grazie alla funzione TRIM togliamo gli spazi vuoti dalla stringa ricevuta , quindi riconosciamo e non accettiamo stringhe composte da soli spazi e senza contenuto informativo*/ 
    elseif (trim($titolo) == "" OR trim($testo) == ""

    echo 
    "I campi Titolo e Testo devono essere riempiti!"


    /*mettiamo in escape eventuali caratteri speciali contenuti nelle stringhe*/ 
    else 
        { 
    $titolo addslashes(stripslashes($titolo)); 
    $autore addslashes(stripslashes($autore)); 
    $mail addslashes(stripslashes($mail)); 
    $testo addslashes(stripslashes($testo)); 


    /*la codifica HTML potrebbe crearci problemi in fase di visualizzazione con alcuni caratteri,sostituiamoli con la loro corrispondente codifica HTML ; qui ci occupiamo del carattere < e > , le parentesi acute*/ 
    $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); 

    /*con la funzione mktime convertiamo data in formato TIMESTAMP*/ 
    $data mktime("0""0""0"$mese$giorno$anno); 

    /*connessione al db*/ 
    $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"); 

    $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";
     }
    }
    foot(); 
    ?>

  2. #12
    Utente di HTML.it L'avatar di Freax
    Registrato dal
    Jul 2006
    Messaggi
    460
    Originariamente inviato da zakros
    Prova cosi:

    Codice PHP:
    <? include("top_foot.inc.php"); 
    include(
    "config.inc.php"); 
    top(); 
    if (
    $pass != $password/*controllo della password*/ 

        echo 
    "Password errata"


    /*grazie alla funzione TRIM togliamo gli spazi vuoti dalla stringa ricevuta , quindi riconosciamo e non accettiamo stringhe composte da soli spazi e senza contenuto informativo*/ 
    elseif (trim($titolo) == "" OR trim($testo) == ""

    echo 
    "I campi Titolo e Testo devono essere riempiti!"


    /*mettiamo in escape eventuali caratteri speciali contenuti nelle stringhe*/ 
    else 
        { @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
    $titolo addslashes(stripslashes($titolo)); 
    $autore addslashes(stripslashes($autore)); 
    $mail addslashes(stripslashes($mail)); 
    $testo addslashes(stripslashes($testo)); 


    /*la codifica HTML potrebbe crearci problemi in fase di visualizzazione con alcuni caratteri,sostituiamoli con la loro corrispondente codifica HTML ; qui ci occupiamo del carattere < e > , le parentesi acute*/ 
    $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); 

    /*con la funzione mktime convertiamo data in formato TIMESTAMP*/ 
    $data mktime("0""0""0"$mese$giorno$anno); 

    /*connessione al db*/ 
    $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"); 

    $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";
     }
    }
    foot(); 
    ?>
    sciabolata morbida ... non va

    cmq ti volevo chiedere se la parentesi che hai aperto dove ho messo tutte quelle @ è la stessa che hai chiuso alla fine .

    adesso mi porta un errore alla riga 4

    Notice: Undefined variable: pass in c:\programmi\easyphp1-8\www\prove\save.php on line 4
    Password errata

    ma la password che immetto è valida ...

  3. #13
    Utente di HTML.it L'avatar di zakros
    Registrato dal
    Oct 2000
    Messaggi
    509
    Come sintassi è ok, l ho provato.

    Notice: Undefined variable: pass in c:\programmi\easyphp1-8\www\prove\save.php on line 4

    Significa che il variabile $pass nn è stata definita.

    Prova cosi:

    Codice PHP:
    <?
    $pass
    ="";
    include(
    "top_foot.inc.php"); 
    include(
    "config.inc.php"); 
    top(); 
    if (
    $pass != $password/*controllo della password*/ 

        echo 
    "Password errata"


    /*grazie alla funzione TRIM togliamo gli spazi vuoti dalla stringa ricevuta , quindi riconosciamo e non accettiamo stringhe composte da soli spazi e senza contenuto informativo*/ 
    elseif (trim($titolo) == "" OR trim($testo) == ""

    echo 
    "I campi Titolo e Testo devono essere riempiti!"


    /*mettiamo in escape eventuali caratteri speciali contenuti nelle stringhe*/ 
    else 
        { 
    $titolo addslashes(stripslashes($titolo)); 
    $autore addslashes(stripslashes($autore)); 
    $mail addslashes(stripslashes($mail)); 
    $testo addslashes(stripslashes($testo)); 


    /*la codifica HTML potrebbe crearci problemi in fase di visualizzazione con alcuni caratteri,sostituiamoli con la loro corrispondente codifica HTML ; qui ci occupiamo del carattere < e > , le parentesi acute*/ 
    $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); 

    /*con la funzione mktime convertiamo data in formato TIMESTAMP*/ 
    $data mktime("0""0""0"$mese$giorno$anno); 

    /*connessione al db*/ 
    $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"); 

    $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"


    foot(); 
    ?> 


    sciabolata morbida ... non

  4. #14
    Utente di HTML.it L'avatar di zakros
    Registrato dal
    Oct 2000
    Messaggi
    509
    Come sintassi è ok, l ho provato.

    Notice: Undefined variable: pass in c:\programmi\easyphp1-8\www\prove\save.php on line 4

    Significa che il variabile $pass nn è stata definita.

    Prova cosi:

    Codice PHP:
    <?
    $pass
    ="";
    include(
    "top_foot.inc.php"); 
    include(
    "config.inc.php"); 
    top(); 
    if (
    $pass != $password/*controllo della password*/ 

        echo 
    "Password errata"


    /*grazie alla funzione TRIM togliamo gli spazi vuoti dalla stringa ricevuta , quindi riconosciamo e non accettiamo stringhe composte da soli spazi e senza contenuto informativo*/ 
    elseif (trim($titolo) == "" OR trim($testo) == ""

    echo 
    "I campi Titolo e Testo devono essere riempiti!"


    /*mettiamo in escape eventuali caratteri speciali contenuti nelle stringhe*/ 
    else 
        { 
    $titolo addslashes(stripslashes($titolo)); 
    $autore addslashes(stripslashes($autore)); 
    $mail addslashes(stripslashes($mail)); 
    $testo addslashes(stripslashes($testo)); 


    /*la codifica HTML potrebbe crearci problemi in fase di visualizzazione con alcuni caratteri,sostituiamoli con la loro corrispondente codifica HTML ; qui ci occupiamo del carattere < e > , le parentesi acute*/ 
    $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); 

    /*con la funzione mktime convertiamo data in formato TIMESTAMP*/ 
    $data mktime("0""0""0"$mese$giorno$anno); 

    /*connessione al db*/ 
    $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"); 

    $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"


    foot(); 
    ?>

  5. #15
    Utente di HTML.it L'avatar di zakros
    Registrato dal
    Oct 2000
    Messaggi
    509
    Ho visto l articolo da cui hai preso il codice.. ci credo nn funziona è un po datato, prende i dati dal form senza farli passare da le variabile $_POST['pass'], ecc, dovresti cambiare tutte le variabili che arrivano dal form.....

  6. #16
    Utente di HTML.it L'avatar di Freax
    Registrato dal
    Jul 2006
    Messaggi
    460
    niente , non va , posto anche il codice della pagina di inserimento e di config.inc.php

    Codice PHP:
    <?
    include ("config.inc.php");
    include (
    "top_foot.inc.php");

    //intestazione
    top();
    ?>

    <form method=post action=save.php>
    Titolo:

    <input type=text size=40 name=titolo>



    Data:

    <select name=giorno>
    <?
    for ($i=1$i<=31$i++)
    echo 
    "<option value=$i>$i";
    ?>
    </select>
    <select name=mese>
    <option value=1>Gennaio
    <option value=2>Febbraio
    <option value=3>Marzo
    <option value=4>Aprile
    <option value=5>Maggio
    <option value=6>Giugno
    <option value=7>Luglio
    <option value=8>Agosto
    <option value=9>Settembre
    <option value=10>Ottobre
    <option value=11>Novembre
    <option value=12>Dicembre
    </select>
    <select name=anno>
    <option value=2001>2001
    <option value=2002>2002
    <option value=2003>2003
    <option value=2004>2004
    <option value=2005>2005
    </select>



    Autore:

    <input type=text size=40 name=autore>



    E-mail:

    <input type=text size=40 name=mail>



    Testo:

    <textarea cols=60 rows=40 name=testo></textarea>



    Password:

    <input type=password size=40 name=pass>



     <input type=submit value=Invia> </form>
    <?
    // chiusura pagina
    foot();
    ?>
    ecco poi config.inc.php

    Codice PHP:
    <?
    // parametri del database
    $db_host "localhost"/*se omesso il valore di default è localhost:3306*/
    $db_user "root";      /*se omesso il valore di default è il nome del proprietari del db*/
    $db_password "";  /*se omesso rimane vuoto*/
    $db_name "prova";

    //password per inserimento articoli
    $password "password";
    ?>

  7. #17
    Utente di HTML.it L'avatar di zakros
    Registrato dal
    Oct 2000
    Messaggi
    509
    ti ho detto perche nn va, leggi l ultimo post della prima pagina...

  8. #18
    Utente di HTML.it L'avatar di Freax
    Registrato dal
    Jul 2006
    Messaggi
    460
    Originariamente inviato da zakros
    ti ho detto perche nn va, leggi l ultimo post della prima pagina...
    grazie , meno male che ci sei tu

    mettere la versione del software a cui si riferiscono le guide no eh ? :rollo:

    quindi dovrei agire solo su save.php per fargli capire che quelle variabili le passo con POST
    cambio solo le prime 3 variabili per capire se è questo quello che c'è da fare :

    Codice PHP:
    <?
    include("top_foot.inc.php");
    include(
    "config.inc.php");
    top();
    if (
    $_POST['pass'] != $password/*controllo della password*/
    {
        echo 
    "Password errata";
    }

    /*grazie alla funzione TRIM togliamo gli spazi vuoti dalla stringa ricevuta , quindi riconosciamo e non accettiamo stringhe composte da soli spazi e senza contenuto informativo*/
    elseif (trim($_POST['titolo']) == "" OR trim($_POST['testo']) == ""ho finito di sostituire va bene così continuo sulle altre variabili allo stesso modo ?
    [...]
    grazie ancora , e solo per curiosità , mica mi sapresti dire a che versione di PHP/MySQL fa riferimento quella guida ?

  9. #19
    Utente di HTML.it L'avatar di zakros
    Registrato dal
    Oct 2000
    Messaggi
    509
    Diciamo dal PHP 4.1 ma dipende dal fatto che sia settata o meno la register_globals guarda sta pillola http://forum.html.it/forum/showthrea...hreadid=245215 (anche questa un po datata)

    Cmq ho visto che ci sono un po di variabili che arrivano dal form io farei cosi, per nn stravolgere lo script, cosi rimangono le variabili originali


    Codice PHP:
    <? 
    $pass
    =$_POST['pass'];
    $titolo$_POST['titolo']; 

    e tutte le altre variabilidata mese giorni ecc..

    include(
    "top_foot.inc.php"); 
    include(
    "config.inc.php"); 
    top(); 
    if (
    $pass != $password/*controllo della password*/ 

        echo 
    "Password errata"


    /*grazie alla funzione TRIM togliamo gli spazi vuoti dalla stringa ricevuta , quindi riconosciamo e non accettiamo stringhe composte da soli spazi e senza contenuto informativo*/ 
    elseif (trim($titolo) == "" OR trim($testo) == ""

    echo 
    "I campi Titolo e Testo devono essere riempiti!"


    /*mettiamo in escape eventuali caratteri speciali contenuti nelle stringhe*/ 
    else 
        { 
    $titolo addslashes(stripslashes($titolo)); 
    $autore addslashes(stripslashes($autore)); 
    $mail addslashes(stripslashes($mail)); 
    $testo addslashes(stripslashes($testo)); 


    /*la codifica HTML potrebbe crearci problemi in fase di visualizzazione con alcuni caratteri,sostituiamoli con la loro corrispondente codifica HTML ; qui ci occupiamo del carattere < e > , le parentesi acute*/ 
    $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); 

    /*con la funzione mktime convertiamo data in formato TIMESTAMP*/ 
    $data mktime("0""0""0"$mese$giorno$anno); 

    /*connessione al db*/ 
    $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"); 

    $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"


    foot(); 
    ?>

  10. #20
    Utente di HTML.it L'avatar di Freax
    Registrato dal
    Jul 2006
    Messaggi
    460
    Originariamente inviato da zakros
    Diciamo dal PHP 4.1 ma dipende dal fatto che sia settata o meno la register_globals guarda sta pillola http://forum.html.it/forum/showthrea...hreadid=245215 (anche questa un po datata)

    Cmq ho visto che ci sono un po di variabili che arrivano dal form io farei cosi, per nn stravolgere lo script, cosi rimangono le variabili originali


    Codice PHP:
    <? 
    $pass
    =$_POST['pass'];
    $titolo$_POST['titolo']; 

    e tutte le altre variabilidata mese giorni ecc..

    include(
    "top_foot.inc.php"); 
    include(
    "config.inc.php"); 
    top(); 
    if (
    $pass != $password/*controllo della password*/ 

        echo 
    "Password errata"


    /*grazie alla funzione TRIM togliamo gli spazi vuoti dalla stringa ricevuta , quindi riconosciamo e non accettiamo stringhe composte da soli spazi e senza contenuto informativo*/ 
    elseif (trim($titolo) == "" OR trim($testo) == ""

    echo 
    "I campi Titolo e Testo devono essere riempiti!"


    /*mettiamo in escape eventuali caratteri speciali contenuti nelle stringhe*/ 
    else 
        { 
    $titolo addslashes(stripslashes($titolo)); 
    $autore addslashes(stripslashes($autore)); 
    $mail addslashes(stripslashes($mail)); 
    $testo addslashes(stripslashes($testo)); 


    /*la codifica HTML potrebbe crearci problemi in fase di visualizzazione con alcuni caratteri,sostituiamoli con la loro corrispondente codifica HTML ; qui ci occupiamo del carattere < e > , le parentesi acute*/ 
    $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); 

    /*con la funzione mktime convertiamo data in formato TIMESTAMP*/ 
    $data mktime("0""0""0"$mese$giorno$anno); 

    /*connessione al db*/ 
    $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"); 

    $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"


    foot(); 
    ?>
    grazie , anche per l'ennesimo buon consiglio sulle variabili
    ma quindi , per le prossime volte , come ho postato il codice andava bene , cioé va bene per il parser di PHP 4 o 5 ?

    ti chiedo anche un'altra cosa visto che oramai abbiamo scritto due pagine di post ... sto leggendo un libro sul PHP 4 ma a volte mi capita di usare anche PHP 5 come software : secondo te dovrei prendere alcuni accorgimenti ?

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.