Visualizzazione risultati 1 fino 20 di 20

Discussione: Buahahahaha! Il mio primo script php

  1. #1
    Guest

    Cool Buahahahaha! Il mio primo script php

    Lo so che magari è una cavolata, ma a me ha richiesto più di un'ora di lavoro.
    PErò sono soddisfatto: ho cominciato ieri il php, e in meno di tre ore sono riuscito a realizzare uno script che mi serviva e che voglio mettere qua di seguito :grin:
    Codice PHP:
    <?PHP
    // Copyright Tabboz (Nome d'arte) 2004
    // Questo script permette di visualizzare l'ultimo post dal forum phpBB
    // Modificare $maxCaratteri per la lunghezza del messaggio che va visualizzato
    // e la configuarazione del server my_sql
    ?>

    <?PHP
    function tagliaStringa($testo) {
    $maxCaratteri = 20;
    $caratteri = strlen($testo);
    if(
    $caratteri > $maxCaratteri) {
    return
    substr($testo, 0, $maxCaratteri)."...";
    } else {
    return
    $testo;
    }
    }
    ?>

    <?PHP
    //modificare qua di seguito per il server
    $host='localhost';
    $user='root';
    $pass='';
    $database='my_database';
    $pref="phpbb_";

    //Connessione al server sql
    $myconn = mysql_connect($host, $user, $pass) or die("Non riesco a connettermi al server");

    //Scelta database
    mysql_select_db($database, $myconn) or die("Non riesco a connettermi al database");



    //Imposto ed eseguo la query
    $query = "SELECT topic_id,topic_title,topic_poster,topic_replies FROM ".$pref."topics";
    $result = mysql_query($query, $myconn) or die("Errore nella query");

    //conto il numero di occorrenze trovate nel db
    $numrows = mysql_num_rows($result);

    //se il database è vuoto lo stampo a video
    if ($numrows==0){
    print
    "Database vuoto!";
    }

    //Se invece trovo delle occorrenze...
    else
    {

    //Realizzo un ciclo for che si ripete per il numero di occorrenze trovate

    for($x=0; $x<=$numrows; $x++){
    //Recupero il contenuto di ogni record rovato
    $resrow = mysql_fetch_row($result);
    $id = $resrow[0];
    $titolo = $resrow[1];
    $postatore=$resrow[2];
    $risposte=$resrow[3];


    //Stampo il risultato
    if ($id==$numrows){
    print
    "Titolo del post: <b>" . $titolo . "</b><br>";

    //Ricerca dell'autore
    $query = "SELECT username FROM ".$pref."users WHERE user_id='$postatore'";
    $risultato = mysql_query($query, $myconn) or die("Errore nella query del poster");
    $row = mysql_fetch_array($risultato);
    $poster = $row[username];

    //Ricerca del testo
    $query = "SELECT post_id FROM ".$pref."posts WHERE post_id='$id'";
    $risultato = mysql_query($query, $myconn) or die("Errore nella query del post_id");
    $row = mysql_fetch_array($risultato);
    $post = $row[post_id];
    $query = "SELECT post_text FROM ".$pref."posts_text WHERE post_id='$post'";
    $risultato = mysql_query($query, $myconn) or die("Errore nella query del testo");
    $row = mysql_fetch_array($risultato);
    $testo = $row[post_text];


    $stringa = $testo;
    $testo = tagliaStringa($stringa);


    print
    "<i>" . $testo . "</i><br>";
    print
    "Postato da: <b>" . $poster . "</b><br>";
    print
    "Ha ottenuto <i>" . $risposte . "</i> risposte<br>";
    print
    "<a href=forum/viewtopic.php?t=" . $id . ">Leggi post</a><br>";
    print
    "<br>";
    }
    }
    }
    ?>
    I love php OLD
    Ultima modifica di Tabboz : 09-06-2004 alle ore 18.09.18

  2. #2
    Guest

    Predefinito

    serio...dopo l'esame mi devo mettere anch'io a scrivere qualcosa in php...

  3. #3
    Guest

    Predefinito

    Allora leggiti la guida di mrwebmaster : http://www.mrwebmaster.it/fareweb/php/guida_php/
    Cakkio, se in due ore l'ho imparato io, può riuscirci kiunque :P

  4. #4
    Guest

    Predefinito

    thanks......(miiiii il limite minimo dei caratteri mi innervosisce)

  5. #5
    L'avatar di SL3960
    SL3960 non è connesso Altervistiano Junior
    Data registrazione
    24-09-2002
    Residenza
    Firenze
    Messaggi
    548

    Predefinito

    Davvero carino lo scriptino! Complimenti!
    Blog--> SL3960
    Sito ufficiale--> SL3960.com

  6. #6
    L'avatar di heracleum
    heracleum non è connesso Utente storico
    Data registrazione
    21-01-2004
    Messaggi
    3,333

    Predefinito

    Altra dritta:
    invece che la classica concatenazione di stringhe (tipica di ogni linguaggio):
    print "<i>" . $testo . "</i><br>";

    in php, nelle stringhe con doppievirgolette "..." puoi scrivere direttamente:
    print "<i>$testo</i><br>";

    Le variabili dunque possono essere inserite direttamente all'interno di una stringa senza operatore di concatenazione (punto).
    Avvertimento: richiedere in privato questioni tecniche produrrà inevitabilmente una supercazzola prematurata come risposta. (5 served)

  7. #7
    Guest

    Predefinito

    Beh gia' che ci sono allora vi do' una dritta anch'io.

    Se usate le virgolette singole dovete mettere \ prima di ogni ' che non sia la virgoletta di chiusura.
    Se usate le virgolette doppie dovete mettere \ prima di ogni " che non sia la virgoletta di chiusura.
    Se usate la notazione heredoc potete inserire tutte le virgolette che volete, le variabili e persino gli oggetti.

    Come si usa? Semplicissimo!
    Scrivete al posto delle virgolette di apertura il simbolo <<< seguito da una parola che sara' il vostro delimitatore.

    Esempio:

    Codice PHP:
    echo <<<PIPPO

    <h1>Salve a tutti</h1>

    <p>
    Questo e' un messaggio stampato con la notazione heredoc
    <br />
    Il contenuto della variabile prova e': "
    $prova"
    </p>

    PIPPO;
    Come potete notare in questo esempio ho usato PIPPO come se fosse una virgoletta e ho incluso anche " e ' senza doverle far precedere da \
    Per gli array e gli oggetti vi consiglio di rinchiudere il nome tra parentesi graffe:

    Codice PHP:
    echo <<<PROVA

    <p>
    prova di stampa di un elemento di array: <br />
    {$array['uno']}
    </p>

    <p>
    prova di stampa di un attributo di un oggetto: <br />
    {$oggetto -> attributo}
    </p>
    PROVA;
    Le parentesi graffe sono utili anche quando dovete attaccare del testo al contenuto di una varabile:

    Codice PHP:

    $fruti
    = 'apple';

    echo <<<PROVA2
    <p>
    John eats an
    $fruit
    </p>

    <p>
    John eats some
    {$fruit}s
    </p>
    PROVA2;
    In questo modo la s viene aggiunta al contenuto di $fruit. Se non avessi usato { e } il php avrebbe cercato la variabile $fruits.

    Unica cosa da ricordare SEMPRE e' che prima della parola di chiusura non ci va ASSOLUTAMENTE NIENTE! Nemmeno uno spazio o un tab!
    Deve essere l'unica parola della riga.


  8. #8
    Guest

    Predefinito

    Pretendete troppo, ho speso solo meno di un'ora per il php.... lasciater che prenda un pò di confidenza.

  9. #9
    L'avatar di marcio
    marcio non è connesso AlterGuru 2500
    Data registrazione
    17-08-2003
    Residenza
    Palermo
    Messaggi
    3,300

    Predefinito

    $titolo = $resrow[1];

    al posto di questa assegnazione usa direttamente $resrow[topic_title] è + comodo ;)

  10. #10
    Guest

    Predefinito

    Sì è vero... infatti nelle successive ho usato quelle, ke sono molto + comode e non rischio di sbagliare.

  11. #11
    Guest

    Predefinito

    Tabboz non e' che pretendiamo... e' che e' sempre bene buttar li' le conoscenze di ciascuno e poi lasciar "frementare" il tutto

    Tra l'altro sono quasi convinto (ho letto il tuo script un po' di fretta) che il tutto si possa fare forse con una sola query un po' articolata. In ogni caso di sicuro si possono ridurre gli accessi al db (sto leggendo un libro che e' illuminante in questo senso: mysql e' potentissimo, fa praticamente quasi tutto quello che fa il php )

  12. #12
    Guest

    Predefinito

    Si, immagino che si tratta del JOIN, che però nn ho ankora capito bene come funge(è questione di giorni cmq)

  13. #13
    Guest

    Predefinito

    complimenti

  14. #14
    Guest

    Predefinito grande!

    Complimenti!!
    Anche io ho appena iniziato il PHP.. un po' con il manuale.. e un po' grazie ai miei colleghi che mi hanno iniziato a questo linguaggio..
    Ah.. gia che ci sono.. io non sono una programmatrice ma mi interessa molto questo campo.. purtroppo mi mancano le basi.. qualcuno può aiutarmi??
    Testi, manuali, corsi (validi...)
    Grazie!!!

  15. #15
    Guest

    Predefinito

    Io possiedo questi due libri:

    http://www.apogeonline.com/libri/88-7303-866-2/scheda
    E' quello che citavo prima sul mysql. Incredibile cosa riesca a fare con una sola query.
    Parte dalle basi (ma moolto riassunte) e si dedica principalmente all'interazione con il db.

    http://www.apogeonline.com/libri/88-7303-852-2/scheda
    Il titolo dice tutto, anche se devo dire che mi ha dato meno illuminazioni di quello sopra.
    Ci sono esempi di tutto: pagine ad oggetti, mailserver, espressioni regolari, ecc...

    Purtroppo io le basi le avevo gia' mi sa che non posso aiutarti... cioe' se devi chiedere chiedi pure, ma in quanto a bibliografia uhm...

  16. #16
    Guest

    Predefinito

    E' vero, ora mi rendo conto che la maggior parte delle utilità del php, derivano dalla sua interazione col database, e se imparo a fare le query, sono ad un buon 80% del lavoro.

  17. #17
    Guest

    Predefinito

    Ma scusate una cosa, io non capisco!
    Se si usa php per la costruzione di un sito, bisognerà usare anche html per fare i link, il layout,...???

  18. #18
    Guest

    Predefinito

    PHP può generare di tutto, giusto?
    Quindi potrei anke realizzare un portale dinamico x wap?

  19. #19
    L'avatar di marcio
    marcio non è connesso AlterGuru 2500
    Data registrazione
    17-08-2003
    Residenza
    Palermo
    Messaggi
    3,300

    Predefinito

    Citazione Originalmente inviato da Lando
    Ma scusate una cosa, io non capisco!
    Se si usa php per la costruzione di un sito, bisognerà usare anche html per fare i link, il layout,...???

    certo !!!!!

  20. #20
    Guest

    Predefinito

    La rete e' divisa in client e server.

    I client sono i nostri pc, il server (in questo momento) e' il server di av.

    HTML, XHTML, CSS, Javascript sono tutti linguaggi CLIENT SIDE, cioe' arrivano fino al nostro computer come comandi ed e' il nostro browser che li interpreta "disegnando" la pagina.

    PHP, ASP, PERL, sono linguaggi SERVER SIDE, cioe' il server legge ed esegue i comandi PRIMA di inviare qualcosa al client.

    Quindi ad esempio in questo script:
    Codice:
    <html>
     <head</head>
     <body>
    
    <?php
    
    $autore = "CoD";
    echo "<h1>Sito creato da $autore<h1>";
    
    ?>
    
     <body>
    <html>
    il server leggera' la pagina (che come vedete e' per la maggior parte html) poi vedra' il tag del php ed eseguira' le istruzioni specificate nel codice: assegnera' alla variabile $autore il nome che volete e poi stampera' la riga del titolo.

    A questo punto, una volta che non ci sara' piu' php da leggere, il server inviera' al client il risultato, che sara' una semplice pagina html.

    Quindi per fare un sito in php dovete per forza sapere anche un linguaggio server side come html, ma nulla vieta (credo) di usare come linguaggio finale wml per le pagine wap.

    Bisognerebbe provare

Regole di scrittura

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