Visualizzazione risultati 1 fino 27 di 27

Discussione: Edit news errore

  1. #1
    Data registrazione
    11-07-2009
    Residenza
    Roma
    Messaggi
    163

    Predefinito Edit news errore

    Buon giorno a tutti arieccomi con un altro problema php^^ non so se c'è un limite di domande che vi si può sottoporre, ma vi sarei davvero grata se mi aiutate tanto più che questa volta dovrebbe essere una cosa abbastanza semplice x voi...

    Seguendo questo tutorial http://www.trickmaster.it/index.php?...2092&Itemid=59 ho realizzato un sistema x le news del mio sito, funziona perfettamente e volevo proseguire con le funzioni di modifa record, che purtroppo però mi da questo errore:
    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in D:\Inetpub\webs\iltelaiodipenelopeit\news\edit_new s.php on line 20

    Questo è il codice:
    Codice PHP:
    <?php

    include "config.php";

    $db = mysql_connect($db_host,$db_user,$db_pass);
    mysql_select_db ($db_name) or die ("Cannot connect to database");
    /* Abbaimo creato la connessione, se non va a buon fine riceverete un messaggio di errore */
    /* Ora selezioniamo la news da modificare, e inseriamo i suoi dati in una form per poi modificarla */
    $query = "SELECT title, news FROM news WHERE id = $_GET[id]";
    $result = mysql_query($query);
    while(
    $r=mysql_fetch_array($result))
    {
    /* Questo inizializza i dati di ogni riga come variabile, per rendere semplice la visualizzazione */
    $title=$r["title"];
    $news=$r["news"];
    /* Ora visualizziamo la form per le modifiche */
    echo "<form name=\"edit_process.php\" method=\"post\" action=\"edit_save.php?id=$_GET[id]\">
    <p>Title :
    <input type=\"text\" name=\"title\" value=\"
    $title\">
    </p>
    <p>News :</p>
    <p>
    <textarea name=\"news\" cols=\"40\" rows=\"6\">
    $news</textarea>
    </p>
    <p>
    <input type=\"submit\" name=\"Submit\" value=\"Save\">
    </p>
    </form>"
    ;
    }
    mysql_close($db);
    ?>
    Quindi l'errore sta nella riga che contiene questo pezzo:
    while($r=mysql_fetch_array($result))

    Il fatto strano è che il codice è uguale a quello che fà visualizzare le news e che invece funziona perfettamente, ecco il codice:
    Codice PHP:
    <?php
    include "config.php";

    $db = mysql_connect($db_host,$db_user,$db_pass);
    mysql_select_db ($db_name) or die ("Cannot connect to database");
    /* Abbaimo creato la connessione, se non va a buon fine riceverete un messaggio di errore */
    /* Ora acquisiamo le News dal database */
    $query = "SELECT title, news, author, date FROM news ORDER BY id DESC LIMIT 10";
    $result = mysql_query($query);
    /* Ora inseriamo i risultati in un array */
    [B]while($r=mysql_fetch_array($result))[/B]
    {
    /* Questo inizializza i dati di ogni riga come variabile, per rendere semplice la visualizzazione */
    $title=$r["title"];
    $news=$r["news"];
    $author=$r["author"];
    $date=$r["date"];
    /* Ora visualizziamo le news */
    echo "<TABLE class='t1'>
    <TR>
    <TD>
    $title</TD>
    </TR>
    <TR>
    <TD>
    $news</TD>
    </TR>
    <TR>
    <TD>Posted by
    $author on $date</TD>
    </TR>
    </TABLE><br><br>"
    ;
    }
    mysql_close($db);

    ?>
    </body>
    Ecco la pagina http://www.iltelaiodipenelope.it/news/ante.php

    Mi potete aiutare a risolvere sta' cosa per favore? Grazie

  2. #2
    L'avatar di EuroSalute
    EuroSalute non è connesso AlterVistiano
    Data registrazione
    12-05-2003
    Messaggi
    969

    Predefinito

    l'errore dovrebbe essere qui:
    Codice PHP:
    $query = "SELECT title, news FROM news WHERE id = $_GET[id]";
    prova così:
    Codice PHP:
    $query = "SELECT title, news FROM news WHERE id = '$_GET[id]'";
    controlla prima che l'id ha un valore:
    Codice PHP:
    echo "id = ". $_GET[id];
    Ultima modifica di EuroSalute : 28-05-2010 alle ore 14.09.48 Motivo: più info
    LOTTO MATEMATICO-SCENTIFICO che FUNZIONA:
    Scripts di Calcolo Automatico Metodologie http://eurosalute.altervista.org

    VINCI OGNI SETTIMANA CON IL NUOVO METODO 5
    FAI IL TEST CON L'ANALISI VINCITE

  3. #3
    Data registrazione
    11-07-2009
    Residenza
    Roma
    Messaggi
    163

    Predefinito

    Ciao Euro prima cosa grazie ^_^

    Allora non so se la correzione fatta abbia sortito l'effetto giusto, non da' più l'errore ma si visualizza la pagina completamente vuota, il che è strano considerando che almeno il form dovebbre visualizzarzi, non so se il problema è il valore dell'id, ho provato a fare una pagina x ferificare e non so se ho scritto male codice perchè mi da' cmq una pagina vuota.... lo so perdonami sono un casino^^
    Verifica valore id
    Codice:
    <?php 
    
    include "config.php"; 
    
    $db = mysql_connect($db_host,$db_user,$db_pass); 
    mysql_select_db ($db_name) or die ("Cannot connect to database"); 
    /* Abbaimo creato la connessione, se non va a buon fine riceverete un messaggio di errore */ 
    /* Ora selezioniamo la news da modificare, e inseriamo i suoi dati in una form per poi modificarla */ 
    $query = "SELECT title, news FROM news WHERE id = '$_GET[id]'"; 
    $result = mysql_query($query); 
    while($r=mysql_fetch_array($result)) 
    {    
    echo "id = ". $_GET[id];
    } 
    mysql_close($db); 
    ?>
    Help me

    http://www.iltelaiodipenelope.it/news/edit_news.php
    http://www.iltelaiodipenelope.it/news/valore_id.php
    Ultima modifica di penelopesito : 28-05-2010 alle ore 15.23.05

  4. #4
    L'avatar di EuroSalute
    EuroSalute non è connesso AlterVistiano
    Data registrazione
    12-05-2003
    Messaggi
    969

    Predefinito

    no ma che hai fatto, $_GET[id] preleva il valore dell'id dal query string....

    se il file è edit_new s.php avrà un id= a qualcosa, per es.:
    edit_new s.php?id=10

    ora per controllare se id ha un valore devi stampare il valore dell'id al di fuori del while :
    Codice PHP:
    <?php

    include "config.php";

    echo
    "id = ". $_GET[id];

    $db = mysql_connect($db_host,$db_user,$db_pass);
    mysql_select_db ($db_name) or die ("Cannot connect to database");
    /* Abbaimo creato la connessione, se non va a buon fine riceverete un messaggio di errore */
    /* Ora selezioniamo la news da modificare, e inseriamo i suoi dati in una form per poi modificarla */
    $query = "SELECT title, news FROM news WHERE id = '$_GET[id]'";
    $result = mysql_query($query);
    while(
    $r=mysql_fetch_array($result))
    {
    /* Questo inizializza i dati di ogni riga come variabile, per rendere semplice la visualizzazione */
    $title=$r["title"];
    $news=$r["news"];
    /* Ora visualizziamo la form per le modifiche */
    echo "<form name=\"edit_process.php\" method=\"post\" action=\"edit_save.php?id=$_GET[id]\">
    <p>Title :
    <input type=\"text\" name=\"title\" value=\"
    $title\">
    </p>
    <p>News :</p>
    <p>
    <textarea name=\"news\" cols=\"40\" rows=\"6\">
    $news</textarea>
    </p>
    <p>
    <input type=\"submit\" name=\"Submit\" value=\"Save\">
    </p>
    </form>"
    ;
    }
    mysql_close($db);

    ?>
    Ultima modifica di EuroSalute : 28-05-2010 alle ore 15.37.23 Motivo: correzzioni
    LOTTO MATEMATICO-SCENTIFICO che FUNZIONA:
    Scripts di Calcolo Automatico Metodologie http://eurosalute.altervista.org

    VINCI OGNI SETTIMANA CON IL NUOVO METODO 5
    FAI IL TEST CON L'ANALISI VINCITE

  5. #5
    Data registrazione
    11-07-2009
    Residenza
    Roma
    Messaggi
    163

    Predefinito

    O santa pace Euro ti farò venire gli incubi scusami^^
    sistemato il codice e infatti l'id non da' nessu valore
    http://www.iltelaiodipenelope.it/news/valore_id.php

    ma l'id non è la chiave che conteggia tutti i record inseriti?
    nel db x ora ce ne sono 25

  6. #6
    L'avatar di EuroSalute
    EuroSalute non è connesso AlterVistiano
    Data registrazione
    12-05-2003
    Messaggi
    969

    Predefinito

    dato che il file è di editing , in pratica per la modifica dei record, devi dare ad id un valore corrispondente ai record della tabella(title e news in questo caso) che vuoi modificare....

    in fase di stampa delle news, inserisci per ogni news un collegamento di editing(es.: edit) che stampa l'url con l'id che corrisponde al record da modificare, esempio è

    Codice HTML:
    <a href="edit_news.php?id=10">Edit</a>
    LOTTO MATEMATICO-SCENTIFICO che FUNZIONA:
    Scripts di Calcolo Automatico Metodologie http://eurosalute.altervista.org

    VINCI OGNI SETTIMANA CON IL NUOVO METODO 5
    FAI IL TEST CON L'ANALISI VINCITE

  7. #7
    Data registrazione
    11-07-2009
    Residenza
    Roma
    Messaggi
    163

    Predefinito

    Scusa Euro ma non ho proprio capito cosa dovrei fare...
    devo fare una pagina che visualizza le news e dovrei mettere x ognuna il lin edit, ma come faccio???
    ^____________^'''''''



    x seingh
    e come si fa' con i while???

    Questo cosa significa?
    Codice:
    <?php 
    //mai scrivere: 
    /* ciao /* ciao */ */ echo "ciao";  
    //mai, mai, mai, mai, mai, mai, mai, mai, mai, mai, mai e poi mai 
    ?>
    Ultima modifica di penelopesito : 29-05-2010 alle ore 01.06.53 Motivo: x rispondere a seingh

  8. #8
    Guest

    Predefinito

    con i while.......

  9. #9
    L'avatar di EuroSalute
    EuroSalute non è connesso AlterVistiano
    Data registrazione
    12-05-2003
    Messaggi
    969

    Predefinito

    questo è il file che stampa (visualizza) le news, modificalo così e provalo:
    Codice PHP:
    <?php
    include "config.php";

    $db = mysql_connect($db_host,$db_user,$db_pass);
    mysql_select_db ($db_name) or die ("Cannot connect to database");
    /* Abbaimo creato la connessione, se non va a buon fine riceverete un messaggio di errore */
    /* Ora acquisiamo le News dal database */
    //$query = "SELECT title, news, author, date FROM news ORDER BY id DESC LIMIT 10";

    //metti questa query:
    $query = "SELECT * FROM news ORDER BY id DESC LIMIT 10";

    $result = mysql_query($query);
    /* Ora inseriamo i risultati in un array */
    [B]while($r=mysql_fetch_array($result))[/B]
    {
    /* Questo inizializza i dati di ogni riga come variabile, per rendere semplice la visualizzazione */
    $title=$r["title"];
    $news=$r["news"];
    $author=$r["author"];
    $date=$r["date"];

    //aggiungi:
    $id=$r["id"];

    /* Ora visualizziamo le news */
    echo "<TABLE class='t1'>
    <TR>
    <TD>
    $title</TD>
    </TR>
    <TR>
    <TD>
    $news</TD>
    </TR>
    <TR>
    <TD>Posted by
    $author on $date</TD>
    </TR>

    <TR>
    <TD>News Numero
    $id :<br>
    Per modificare la News clicca su <a href='edit_news.php?id=
    $id'>Edit News</a>
    </TD>

    </TR>

    </TABLE><br><br>"
    ;
    }
    mysql_close($db);

    ?>
    LOTTO MATEMATICO-SCENTIFICO che FUNZIONA:
    Scripts di Calcolo Automatico Metodologie http://eurosalute.altervista.org

    VINCI OGNI SETTIMANA CON IL NUOVO METODO 5
    FAI IL TEST CON L'ANALISI VINCITE

  10. #10
    Data registrazione
    11-07-2009
    Residenza
    Roma
    Messaggi
    163

    Predefinito

    Fantastico euro io davvero non ho parole per ringraziarti ma stai tranquillo che un po' di pubblicita' te la faccio con tanto piacere davvero!!!!
    Ora funziona perfettamente e non sai che comodita' e' per me che quando scrivo faccio un sacco di errori^^ e spesso non mi pace come si visualizza x cui dai a correggere ^________________^
    grazie tantissimo davvero appena e' online il nuovo "sistema"perfezionato di news sarai mensionato per i dovuti credits
    un abbraccio buon fine settimana

  11. #11
    L'avatar di EuroSalute
    EuroSalute non è connesso AlterVistiano
    Data registrazione
    12-05-2003
    Messaggi
    969

    Predefinito

    Grazie dei ringraziamenti!!!

    e grazie se vorrai aiutarmi a pubblicizzare il sito.....

    mandami un messaggio quando avrai perfezionato il nuovo sistema di news....

    Buon week end anche a te

    ciao
    LOTTO MATEMATICO-SCENTIFICO che FUNZIONA:
    Scripts di Calcolo Automatico Metodologie http://eurosalute.altervista.org

    VINCI OGNI SETTIMANA CON IL NUOVO METODO 5
    FAI IL TEST CON L'ANALISI VINCITE

  12. #12
    Data registrazione
    11-07-2009
    Residenza
    Roma
    Messaggi
    163

    Predefinito

    I ringraziamente sono come minimo dovuto ci mancherebbe ^_^
    ti avviso appena finisco di sistemare, ormai sono a buon punto, con la parte delle news grazie a te, e ora sto sistemando la parte commenti, che con grande gioia sono riuscita a fare una condizione if.... ma mi funziona solo a metà^^ approfitto della tua disponibilità se gli dai un'occhiata e riesci a capire dove ho pasticciato, in pratica avevo fatto un classico guestbook che ora ho ridimensionato x far scrivere i messaggi direttamente dalla home ed evitare la cbox (i messaggi dopo un po' si perdono^^) come da iter si può inserire la url del sito o una mail, nella visualizzazione dei commenti mi sarebbe piaciuto che nel caso questi dati fossero stati inseriti si visualizzasse una gif (ovviamente linkata o con la mail ) altrimenti nulla, sono riuscita a far sta cosa solo x la mail, la gif x url sito si visualizza cmq!?!
    ecco il codice:
    Codice:
    echo "<table border='0' cellpadding='0px' cellspacing='0px' width='450'>";
        	echo "<tr>";
    		echo "<td>";
    		echo "<table class='t3' cellpadding='2px' cellspacing='2px' width='100%'>";
    			echo "<tr>";
    				echo "<td>";
    				echo "<table class='t2' cellpadding='0px' cellspacing='0px' width='100%'>";
    					echo "<tr>";
    						echo "<td class='c1'>Scritto il ".$i["data_formattata"]."</td>";
    						if($i[www] == true){ 
    						echo"<td class='c1' width='20'><a href='".$i["www"]."' target=_blank><img border='0' src='images/1004157.gif' width='19' height='19'></a></td>";
    						}else{
    						echo"<td class='c1' width='20'></td>";
    						}
    						
    						echo"<td class='c1' width='15'>&nbsp;</td>";
    						
    						if($i[email] == true){
    						echo "<td class='c1' width='20'><a href='mailto:".$i["email"]."'><img border='0' src='images/1007602.gif' width='19' height='19'></a></td>";
    						}else{
    						echo"<td class='c1' width='20'></td>";
    						}
    					echo "</tr>";
    				echo "</table>";
    				echo "</td>";
    			echo "</tr>";
    			echo "<tr>";
    				echo "<td class='c2'><b>&#171 ".$i["nome"]." &#187</b></td>";
    			echo "</tr>";
    			echo "<tr>";
    				echo "<td class='c1'><b>Commento...</b><br>".faccine ($i["message"])."</td>";
    			echo "</tr>";
    		echo "</table>";
    		echo "<table border='0' cellpadding='0px' cellspacing='0px' width='100%'>";
    			echo "<tr>";
    				echo "<td height='5'></td>";
    			echo "</tr>";
    		echo "</table>";
    		echo "</td>";
    	echo "</tr>";
    echo "</table>";
    e questa è la pagina prova
    http://www.iltelaiodipenelope.it/pub...x/view_img.php
    ^_^'

  13. #13
    L'avatar di EuroSalute
    EuroSalute non è connesso AlterVistiano
    Data registrazione
    12-05-2003
    Messaggi
    969

    Predefinito

    prova a mettere:
    Codice PHP:

    if(isset($i[www]) && !empty($i[www])){
    echo
    "<td class='c1' width='20'><a href='".$i["www"]."' target=_blank><img border='0' src='images/1004157.gif' width='19' height='19'></a></td>";
    }else{
    echo
    "<td class='c1' width='20'></td>";
    }
    LOTTO MATEMATICO-SCENTIFICO che FUNZIONA:
    Scripts di Calcolo Automatico Metodologie http://eurosalute.altervista.org

    VINCI OGNI SETTIMANA CON IL NUOVO METODO 5
    FAI IL TEST CON L'ANALISI VINCITE

  14. #14
    Data registrazione
    11-07-2009
    Residenza
    Roma
    Messaggi
    163

    Predefinito

    Macchè non va' Euro, il messaggio di "rosaselvaggia" non ha url sito ma la gif si visualizza cmq^^ Ti rompo pure di domenica....
    http://www.iltelaiodipenelope.it/pub...x/view_img.php

  15. #15
    L'avatar di LastWings
    LastWings non è connesso AlterGuru
    Data registrazione
    14-10-2006
    Messaggi
    1,628

    Predefinito

    Questa variabile

    Codice PHP:
    $i[www]
    Non risulterà mai essere vuota, perchè nell' INSERT:

    1: Se si lascia il campo con solo http:// ( quindi com'è compilato di default ), lo fai inserire nel database ugualmente

    2: Aggiungi in ogni caso "/" alla fine del url inserito.

    Quindi verifica prima di fare l'insert, se il visitatore ha realmente inserito qualcosa all'interno.
    Nel caso avesse compilato quel campo, e dopo aver verificato la corretta forma, lo inserisci nel database.

    Inoltre aggiungi qualche controllo, perchè attualmente è possibile inserire un messaggio, senza nessun dato.
    Ultima modifica di LastWings : 30-05-2010 alle ore 17.33.44
    Ecchi Paradise - Frammenti Perduti - Semplici Parole - Recensioni ed Opinioni

    Non contattatemi privatamente per ricevere supporto, per queste cose esiste il forum pubblico
    .

  16. #16
    L'avatar di EuroSalute
    EuroSalute non è connesso AlterVistiano
    Data registrazione
    12-05-2003
    Messaggi
    969

    Predefinito

    si ha ragione LastWings, non avevo guardato questa pagina:
    http://www.iltelaiodipenelope.it/pub...iew.php?page=2

    nel form l'input ha un valore di default uguale a http://, non sarà mai vuoto questo campo.....

    ti ricordi che ti avevo dato una funzione di controllo uri, del corretto inserimento di un url?

    se l'uri non è corretto(se la funzione ritorna false) , inserisci un url di default che puoi controllare con il loop if else

    questa è una soluzione.....ciao
    LOTTO MATEMATICO-SCENTIFICO che FUNZIONA:
    Scripts di Calcolo Automatico Metodologie http://eurosalute.altervista.org

    VINCI OGNI SETTIMANA CON IL NUOVO METODO 5
    FAI IL TEST CON L'ANALISI VINCITE

  17. #17
    Data registrazione
    11-07-2009
    Residenza
    Roma
    Messaggi
    163

    Predefinito

    Grazie ragazzi non mi ricordo mai che tutto ciò che è memorizzato nel database poi viene cmq stampato^^ infatti ho tolto http di default fatte prove e ora funziona il giochetto delle gif naturalmente non con i messaggi precedenti che ormai sono registrati.
    ho provato a mettere la / alla stampa del www ma molti copiano url da browser e gia c'è la / finale per cui poi ne mette due^^
    Ora il problema è un'altro, avevo messo nell'insert il codice che mi avevi scritto (EURO) x il link box cioè quello per il filtro parole che ovviamente funziona benissimo x quanto riguarda l'inserimento di parole o url e altri accidenti vietati ma po il mess parte lo stesso ovviamente vuoto....

    x inserire i messaggi ovvero insert.php il codice ve l'ho postaqui altrimenti non mi fa inviare messaggio per troppi caratteri =_=

    http://www.iltelaiodipenelope.it/pub...diceinsert.htm
    Che devo fare?????????? Grazie x l'aiuto

    Ho corretto add_mex avevo sbagliato il bottone dell'invio.... al posto di button c'era submit ora li' funziona
    ecco pagina http://www.iltelaiodipenelope.it/public/mex/add_mex.htm
    ma l'insert ogni tanto fa i dispetti^^


    uffa che strazio cambiando il tipo di bottone invio ora non funziona la memorizzazione dei dati....
    Ultima modifica di penelopesito : 30-05-2010 alle ore 20.07.52 Motivo: Modicato x rettifica

  18. #18
    L'avatar di EuroSalute
    EuroSalute non è connesso AlterVistiano
    Data registrazione
    12-05-2003
    Messaggi
    969

    Predefinito

    allora, se ho capito bene cosa vuoi dire, il messaggio vuoto viene memorizzato lo stesso anche quando è vuoto?

    e si perchè avevo fatto un filtro quando la variabile è settata.....

    allora tu hai questo:

    Codice PHP:
    if (isset($HTTP_POST_VARS[message]))
    {
    $mes_id = $HTTP_POST_VARS[message];
    $void_mes += substr_count($mes_id,"[url]");
    $void_mes += substr_count($mes_id,"[/url]");
    $void_mes += substr_count($mes_id,"sesso");
    $void_mes += substr_count($mes_id,"sex");
    $void_mes += substr_count($mes_id,"/*");
    $void_mes += substr_count($mes_id,"viagra");
    $void_mes += substr_count($mes_id,"../");
    $void_mes += substr_count($mes_id,"cgi");
    $void_mes += substr_count($mes_id,"prozac");
    $void_mes += substr_count($mes_id,"<");
    $void_mes += substr_count($mes_id,">");
    $void_mes += substr_count($mes_id,"href");
    $void_mes += substr_count($mes_id,"=");
    }
    aggiungi:
    Codice PHP:
    if (empty($HTTP_POST_VARS[message])) $void_mes +=1;

    volevo chiedere ma la funzione $HTTP_POST_VARS[] non è deprecata?
    usa semplicemente $_POST[]


    per gli url, perchè non utilizzi questo filtro:
    Codice PHP:
    function isValidURI( $sURI ){

    //l'er valido è questo:
    $er = "/^((http):\/\/|[w]{3}[0-9]{0,1}\.)([a-zA-Z0-9]([a-zA-Z0-9\-_]+\.|[a-zA-Z0-9\-_]+|)+[a-zA-Z0-9]\.[a-zA-Z]{2,6})(:[0-9]{1,5}|)(\/.{0,1024}|)$/i";

    //$er = "~^(([^:/?#]+):)?(//([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?~";

    return (bool) preg_match($er, $sURI);
    }

    if (
    isValidURI( $_POST[www] ) === false ) $void_www +=1;
    potresti anche aggiungere un altro filtro per le email...un attimo te lo posto...

    Codice PHP:
    function validEmail($aEmail)
    {
    $filter_email = "^[a-z0-9]+([_\\.-][a-z0-9]+)*@([a-z0-9]+([\.-][a-z0-9]+)*)+\\.[a-z]{2,4}$";

    if (
    preg_match($filter_email, $aEmail))
    return
    true;
    else
    return
    false;
    }

    if (
    validEmail($_POST[email]) == false ) $void_email +=1;
    Ultima modifica di EuroSalute : 30-05-2010 alle ore 21.08.08 Motivo: più info
    LOTTO MATEMATICO-SCENTIFICO che FUNZIONA:
    Scripts di Calcolo Automatico Metodologie http://eurosalute.altervista.org

    VINCI OGNI SETTIMANA CON IL NUOVO METODO 5
    FAI IL TEST CON L'ANALISI VINCITE

  19. #19
    Data registrazione
    11-07-2009
    Residenza
    Roma
    Messaggi
    163

    Predefinito

    Grazie Euro ora ovviamente funziona perfettamente ovvero se non si scrive un mess non lo invia, ho usato lo stesso metodo x il nome, e anche in questo caso funziona^^ se non c'è il nome non invia, avevo fato il controllo con javascript x evitare che se magari qualcuno dimenticava di scrivere il nome dovesse riscrivere tutto.

    Ora sistemo anche il controllo dell'url e della mail che ovviamente diventa indispensabile, io al codice che mi avevi scritto avevo aggiunto il controllo:
    Codice PHP:
    $void_email=0;
    ....
    if (isset(
    $HTTP_POST_VARS[email]))
    {
    $email_id = $HTTP_POST_VARS[email];
    $void_email += substr_count($email_id,"http://");
    $void_email += substr_count($email_id,"@berkley.com");
    $void_email += substr_count($email_id,".edu");
    }
    ma il codice che mi hai scritto qui mi sembra completissimo ora il dubbio è: dove devo aggiungere il controllo url e mail? Nel link box avevo messo il controllo url nell'inserimento ma ora l'add è separato e in htm.... cmq lo posso sempre riscrivere in php se lo devo mettere necessariamente lì, e poi devo fare un qualche richiamo...
    scusami ma so' proprio impedita^^
    Ultima modifica di musicanapoli : 30-05-2010 alle ore 23.17.45

  20. #20
    L'avatar di EuroSalute
    EuroSalute non è connesso AlterVistiano
    Data registrazione
    12-05-2003
    Messaggi
    969

    Predefinito

    le due funzioni le metti prima di include "config.php", lasci i filtri esistenti per tutte le variabili interessate del form, aggiungi quindi i nuovi controlli:

    Codice PHP:
    <?php
    function isValidURI( $sURI ){

    //l'er valido è questo:
    $er = "/^((http):\/\/|[w]{3}[0-9]{0,1}\.)([a-zA-Z0-9]([a-zA-Z0-9\-_]+\.|[a-zA-Z0-9\-_]+|)+[a-zA-Z0-9]\.[a-zA-Z]{2,6})(:[0-9]{1,5}|)(\/.{0,1024}|)$/i";

    //$er = "~^(([^:/?#]+):)?(//([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?~";

    return (bool) preg_match($er, $sURI);
    }

    function
    validEmail($aEmail)
    {
    $filter_email = "^[a-z0-9]+([_\\.-][a-z0-9]+)*@([a-z0-9]+([\.-][a-z0-9]+)*)+\\.[a-z]{2,4}$";

    if (
    preg_match($filter_email, $aEmail))
    return
    true;
    else
    return
    false;
    }



    include
    "config.php";
    $db = mysql_connect($db_host, $db_user, $db_pass);
    mysql_select_db ($db_name) or die ("Cannot connect to database");

    //controllo anti-hackers by eurosalute
    //puoi applicare questo filtro anche alle altre variabili

    $void_mes=0;
    $void_www=0;
    $void_nome=0;
    $void_email=0;

    if (isset(
    $HTTP_POST_VARS[message]))
    {
    $mes_id = $HTTP_POST_VARS[message];
    $void_mes += substr_count($mes_id,"[url]");
    $void_mes += substr_count($mes_id,"[/url]");
    $void_mes += substr_count($mes_id,"sesso");
    $void_mes += substr_count($mes_id,"sex");
    $void_mes += substr_count($mes_id,"/*");
    $void_mes += substr_count($mes_id,"viagra");
    $void_mes += substr_count($mes_id,"../");
    $void_mes += substr_count($mes_id,"cgi");
    $void_mes += substr_count($mes_id,"prozac");
    $void_mes += substr_count($mes_id,"<");
    $void_mes += substr_count($mes_id,">");
    $void_mes += substr_count($mes_id,"href");
    $void_mes += substr_count($mes_id,"=");
    }

    //aggiungi qui il controllo messaggio vuoto:
    if (empty($HTTP_POST_VARS[message])) $void_mes +=1;

    if (isset(
    $HTTP_POST_VARS[www]))
    {
    $www_id = $HTTP_POST_VARS[www];
    $void_www += substr_count($www_id,".gif");
    $void_www += substr_count($www_id,".jpg");
    $void_www += substr_count($www_id,".png");
    $void_www += substr_count($www_id,".jpeg");
    $void_www += substr_count($www_id,".bmp");
    $void_www += substr_count($www_id,".tiff");
    $void_www += substr_count($www_id,".tga");
    $void_www += substr_count($www_id,".miff");
    $void_www += substr_count($www_id,".xcf");
    //filtro standard :
    $void_www += substr_count($www_id,"ftp");
    $void_www += substr_count($www_id,"@");
    $void_www += substr_count($www_id,"/*");
    $void_www += substr_count($www_id,"./");
    $void_www += substr_count($www_id,"../");
    $void_www += substr_count($www_id,"www.geologue.setif.org/vb/member.php?u=3598");
    $void_www += substr_count($www_id,"posterous.com/people/5AvFOOTLnQD7");
    }

    //aggiungi qui il controlli uri:
    if ( isValidURI( $_POST[www] ) === false ) $void_www +=1;

    //e così via per gli altri controlli

    if (isset($HTTP_POST_VARS[email]))
    {
    $email_id = $HTTP_POST_VARS[email];
    $void_email += substr_count($email_id,"http://");
    $void_email += substr_count($email_id,"@berkley.com");
    $void_email += substr_count($email_id,".edu");
    }

    if (
    validEmail($_POST[email]) == false ) $void_email +=1;
    poi se non vuoi codice dannoso , fai un controllo globale delle variabili del form (quancuno potrebbe inserire codice html, php , asp):
    http://php.net/manual/en/function.strip-tags.php

    Codice PHP:

    foreach(array('message','www','nome','email') as $key) {$_POST[$key] = strip_tags($_POST[$key]);}
    Ultima modifica di EuroSalute : 31-05-2010 alle ore 11.52.54 Motivo: più info
    LOTTO MATEMATICO-SCENTIFICO che FUNZIONA:
    Scripts di Calcolo Automatico Metodologie http://eurosalute.altervista.org

    VINCI OGNI SETTIMANA CON IL NUOVO METODO 5
    FAI IL TEST CON L'ANALISI VINCITE

  21. #21
    Data registrazione
    11-07-2009
    Residenza
    Roma
    Messaggi
    163

    Predefinito

    Grazie Euro sei stato gentilissimo come sempre appena tutto l'ambaradan è online ti avviso ^_^ buona settimana^^

  22. #22
    L'avatar di EuroSalute
    EuroSalute non è connesso AlterVistiano
    Data registrazione
    12-05-2003
    Messaggi
    969

    Predefinito

    io inserirei questo codice:
    Codice PHP:
    foreach(array('message','www','nome','email') as $key) {$_POST[$key] = strip_tags($_POST[$key]);}

    //se utilizzi $HTTP_POST_VARS[$key] , devi sostituirlo a $_POST[$key]

    dopo i filtri:
    Codice PHP:
    //controllo globale :
    if ($void_mes == 0 && $void_www == 0 && $void_nome == 0 && $void_email == 0){

    foreach(array(
    'message','www','nome','email') as $key) {$_POST[$key] = strip_tags($_POST[$key]);}


    //eseguo la query

    /* Abbaimo creato la connessione, se non va a buon fine ricevo un messaggio di errore */
    $inseriment
    LOTTO MATEMATICO-SCENTIFICO che FUNZIONA:
    Scripts di Calcolo Automatico Metodologie http://eurosalute.altervista.org

    VINCI OGNI SETTIMANA CON IL NUOVO METODO 5
    FAI IL TEST CON L'ANALISI VINCITE

  23. #23
    Data registrazione
    11-07-2009
    Residenza
    Roma
    Messaggi
    163

    Predefinito

    Grazie Euro ora ho inserito anche il controllo globale ^_^ ecco il risultato finale del nuovo commenti^^
    http://www.iltelaiodipenelope.it/pub...telaio_mex.php

    questo andrà nella home ora devo risistemare la pagina "grande" ma son pochi passaggi^^
    Ultima modifica di penelopesito : 31-05-2010 alle ore 21.52.37

  24. #24
    L'avatar di EuroSalute
    EuroSalute non è connesso AlterVistiano
    Data registrazione
    12-05-2003
    Messaggi
    969

    Predefinito

    vedi hai fatto un bel lavoro....

    volevo avvisarti che digitando il sito:
    http://www.iltelaiodipenelope.it/

    il McAfee del mio pc rileva malware dal sito chirca.org
    e non mi lascia entrare nel tuo sito....

    controlla se hai dei contenuti dal sito chirca.org

    oltretutto digitando chirca.org sulla barra degli indirizzi, l'antivirus dice malware rilevato e non mi lascia entrare nel sito.....

    ho McAfee aggiornato e la versione full....
    LOTTO MATEMATICO-SCENTIFICO che FUNZIONA:
    Scripts di Calcolo Automatico Metodologie http://eurosalute.altervista.org

    VINCI OGNI SETTIMANA CON IL NUOVO METODO 5
    FAI IL TEST CON L'ANALISI VINCITE

  25. #25
    Data registrazione
    11-07-2009
    Residenza
    Roma
    Messaggi
    163

    Predefinito

    Ma santa pace Euro un malwere che cappero ho il pc blindato figurati che ho addirittura il norton a pagamento e un sacco di aggeggi antivirus in più proprio girellando qui da voi non mi ricordo in che sito son capitata che aveva un bottoncino per controllare il sito, e mi dava sito sicuro!!! Cmq hai ragione ho un bottoncino di chirca.org che onestamente ora non mi ricordo nemmeno cos'è... ora lo tolgo subito, ma ormai pensi abbia contaminato in qualche modo il sito???

    E' venuto davvero un bel lavoro un po' puccioso considerando laquantità di gif che ho utilizzato ma sono soddisfattissima ^__________^ direi che tu hai fatto un ottimo lavoro!!!

  26. #26
    L'avatar di EuroSalute
    EuroSalute non è connesso AlterVistiano
    Data registrazione
    12-05-2003
    Messaggi
    969

    Predefinito

    allora posso dirti di più per chirca.org, visita questo url di diagnostica:

    http://safebrowsing.clients.google.c...lechrome&hl=it


    il tuo sito con McAfee risulta buono....ma google Chrome non mi lascia entrare, mentre con firefox e ie e altri lo visualizzo bene.....

    il sito chirca.org è infetto, segnalato sito malevolo da McAfee, ti consiglio di togliere tutto quello che hai sul tuo sito che fa riferimento a chirca.org, contenuti ed altro.

    inoltre volevo dirti che dovresti ridimensionare la finestra dove hai inserito i commenti, perchè non si visualizzano completamente i pulsanti....
    devi ingrandire la finestra....
    Ultima modifica di EuroSalute : 01-06-2010 alle ore 20.25.23 Motivo: più info
    LOTTO MATEMATICO-SCENTIFICO che FUNZIONA:
    Scripts di Calcolo Automatico Metodologie http://eurosalute.altervista.org

    VINCI OGNI SETTIMANA CON IL NUOVO METODO 5
    FAI IL TEST CON L'ANALISI VINCITE

  27. #27
    Data registrazione
    11-07-2009
    Residenza
    Roma
    Messaggi
    163

    Predefinito

    Ero passata appunto x lasciarti un messaggio che avevo messo online ^_^ mi hai preceduta, ho visto che il sito si vede un po' tutto sballato con firefox... io ho la fissa x ie ormai ci sono abituata ma certo devo sistemare la tag, stavo gia risistemando un po' le pagine, crome non l'ho proprio scaricato ma mi avevano avvisato che è un pasticcio...

    Ho letto la recenzione di google, mah sarà che a me piacciono i pc e non potrei mai fare qualcosa che li danneggi che poi che qusto c'è a far ste cose boooo!!!! Cmq di chirca avevo solo un bottoncino tipo scambia link, ora l'ho tolto x cui dovrebbe essere a posto

    Ti ringrazio ancora tantissimo e sicuro prima o poi ti ri-rompo le scatole

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •