Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 27
  1. #1
    Utente di HTML.it L'avatar di Freax
    Registrato dal
    Jul 2006
    Messaggi
    460

    Problemi con guida pratica a MySQL

    salve ragazzi , seguendo questa guida ho creato i vari file *.php che dovevano servire ad inserire e visualizzare gli articoli .
    Dopo aver visto che così com'è a me il codice non va , chiedo un vostro aiuto .

    questo file contiene tutte le pagine da creare
    http://www.emanuelecestari.it/css/prove.rar

    spero che qualcuno mi sappia dire qualcosa in merito perché mi viene dato errore nella riga 18 dell'index

    comunque sono in cerca di un articolo che tratti meglio le connessioni tra PHP e MySQL ...

  2. #2

    Re: Problemi con guida pratica a MySQL

    Originariamente inviato da Freax

    spero che qualcuno mi sappia dire qualcosa in merito perché mi viene dato errore nella riga 18 dell'index
    potresti postare tu le righe relative. Mi sembrerebbe piu' semplice per tutti.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  3. #3
    Utente di HTML.it L'avatar di Freax
    Registrato dal
    Jul 2006
    Messaggi
    460

    Re: Re: Problemi con guida pratica a MySQL

    Originariamente inviato da piero.mac
    potresti postare tu le righe relative. Mi sembrerebbe piu' semplice per tutti.
    si , certo:
    Codice PHP:
    <?
    include("top_foot.inc.php");
    include(
    "config.inc.php");
    top();

    $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 "SELECT id,data,titolo FROM news ORDER BY data DESC LIMIT 0,5";

    $result mysql_query($query$db);

    while (
    $row mysql_fetch_array($result))

    echo 
    "[url="view.php?id=$row[id]"]" date("j/n/y"$row[data]) . " - $row[titolo][/url]
    "
    ;
    }

    mysql_close($db); foot();
    ?>
    la riga in questione è quella che contiene l'unico echo , ovvero l'istruzione da far eseguire al while

  4. #4

    Re: Re: Re: Problemi con guida pratica a MySQL

    Originariamente inviato da Freax
    si , certo:
    Codice PHP:
    <?
    include("top_foot.inc.php");
    include(
    "config.inc.php");
    top();

    $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 "SELECT id,data,titolo FROM news ORDER BY data DESC LIMIT 0,5";

    $result mysql_query($query$db);

    while (
    $row mysql_fetch_array($result))

    echo 
    "[url="view.php?id=$row[id]"]" date("j/n/y"$row[data]) . " - $row[titolo][/url]
    "
    ;
    }

    mysql_close($db); foot();
    ?>
    la riga in questione è quella che contiene l'unico echo , ovvero l'istruzione da far eseguire al while
    L'errore sta negli apici, prova così:

    echo "<a href=\"view.php?id=$row[id]\">" . date("j/n/y", $row[data]) . " - $row[titolo]</a>
    ";

  5. #5
    Utente di HTML.it L'avatar di Freax
    Registrato dal
    Jul 2006
    Messaggi
    460

    Re: Re: Re: Re: Problemi con guida pratica a MySQL

    Originariamente inviato da Haldir
    L'errore sta negli apici, prova così:

    echo "<a href=\"view.php?id=$row[id]\">" . date("j/n/y", $row[data]) . " - $row[titolo]</a>
    ";
    va bene così grazie

    vorrei capire una cosa però : i doppi apici dell'echo non indicano che c'è da stampare a video una costante? come mai mettere in escape gli apici ?

  6. #6
    Utente di HTML.it L'avatar di zakros
    Registrato dal
    Oct 2000
    Messaggi
    509
    Non puoi mettere gli apici dentro una stringa, qui gli apici principale sono quelli di inizio e fine echo, quindi dentro alla stringa o metti quelli singoli ' oppure x il parser del php devi mettere gli escape...

    Chiaro??

  7. #7
    Utente di HTML.it L'avatar di Freax
    Registrato dal
    Jul 2006
    Messaggi
    460
    altro problema: non mi fa salvare gli articoli che creo , la pagina save.php mi porta un errore alla riga 4 .

    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";
    endif;
    foot();
    ?>
    l'errore viene riportato nel primo if dove c'è il confronto tra la password salvata in config.inc.php e quella inserita al momento della stesura dell'articolo in insert.php

    è un semplice if e non vedo dove possa essere il problema :master:

  8. #8
    Utente di HTML.it L'avatar di Freax
    Registrato dal
    Jul 2006
    Messaggi
    460
    Originariamente inviato da zakros
    Non puoi mettere gli apici dentro una stringa, qui gli apici principale sono quelli di inizio e fine echo, quindi dentro alla stringa o metti quelli singoli ' oppure x il parser del php devi mettere gli escape...

    Chiaro??
    chiaro , grazie

  9. #9
    Utente di HTML.it L'avatar di zakros
    Registrato dal
    Oct 2000
    Messaggi
    509
    Prova a mettere gli apici {} invece dei 2 puntia fine if, else if e else

  10. #10
    Utente di HTML.it L'avatar di Freax
    Registrato dal
    Jul 2006
    Messaggi
    460
    Originariamente inviato da zakros
    Prova a mettere gli apici {} invece dei 2 puntia fine if, else if e else
    fatto ma mi sa che questa guida è stata fatta alle 3 di notte ...

    adesso mi porta un errore verso la fine ... riga 50

    Parse error: parse error in c:\programmi\easyphp1-8\www\prove\save.php on line 50

    riposto la pagina con le correzioni da me fatte :
    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"
    endif;
    foot();
    ?>
    la 50 è dove c'è l'endif

    e adesso ? ho provato anche a togliere $query dall'echo della riga prima ma niente ...

    è possibile parlare con Francesco Bonetto ? sta guida è na tragedia per i newbie

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.