Pagina 1 di 2 12 UltimoUltimo
Visualizzazione risultati 1 fino 30 di 45

Discussione: Script per annunci

  1. #1
    L'avatar di silverseraph
    silverseraph non è connesso AlterGuru
    Data registrazione
    27-04-2005
    Residenza
    Localhost
    Messaggi
    1,104

    Predefinito Script per annunci

    Salve vorrei sapere come si può fare in php uno script del genere:

    vorrei permettere agli utenti di inviare annunci per vendita di cellulari. Vorrei creare un form con le varie opzioni, una volta che l'ha compilato, l'annuncio si autogenera nella pagina in cui stanno tutti gli annunci con solo il titolo, il prezzo e dove si trova il venditore e poi se si clicca sul titolo compare anche il contenuto.
    è possibile?

    p.s. possibilmente senza database

    grazie
    Ultima modifica di silverseraph : 19-11-2005 alle ore 19.29.31

  2. #2
    Guest

    Predefinito

    senza database è un problema potresti chiedere a Funcool ma io ti consiglio questa guida
    che però utilizza il database

    http://freephp.html.it/guide/lezione.asp?id=14

  3. #3
    Ospite Guest

    Predefinito

    Qui c'è una demo di ciò che potresti fare con phpclassifieds,scaricabile da qui.
    Comunque nn so come sia,l' ho trovato cercando x la rete,ma a vederlo sembra buono....

  4. #4
    Guest

    Predefinito

    ciao

    puoi farlo anche così (senza database):

    form di invio dati:
    Codice:
    <form action="inserisci_annuncio.php" method="post">
    nome:<br>
    <input type="text" name="nome"><br>
    email:<br>
    <input type="text" name="mail"><br>
    titolo:<br>
    <input type="text" name="titolo"><br>
    prezzo:<br>
    <input type="text" name="prezzo"><br>
    località:<br>
    <input type="text" name="loc"><br>
    testo annuncio:<br>
    <textarea cols="30" rows="10" name="testo"></textarea><br>
    <input type="submit" value="inserisci annuncio">
    </form>

    file inserisci_annuncio.php
    Codice:
    <?php
    
    $testo=$_POST[testo];
    $nome=$_POST[nome];
    $titolo=$_POST[titolo];
    $prezzo=$_POST[prezzo];
    $loc=$_POST[loc];
    $mail=$_POST[mail];
    
    $testo=str_replace("\r","<br>",$testo);
    $testo=str_replace("\n","",$testo);
    
    $st="$nome|$titolo|$testo|$prezzo|$loc|$mail|\n";
    $op_db=fopen("db.txt",a);
    $fpx=fputs($op_db,$st);
    fclose($op_db);
    
    if($fpx){
        echo "annuncio inserito";
    }else{
        echo "annuncio non inserito";
    }
    
    ?>
    file vedi_titoli.php
    Codice:
    <?php
    
    $op_db=file("db.txt");
    
    $op_db=array_reverse($op_db);
    
    foreach($op_db as $k => $val){
        if($val!=""){
            list($nome,$titolo,$testo,$prezzo,$loc)=explode("|",$val);
            echo "<a href=\"vedi_annuncio.php?k=$k\">$titolo - $prezzo - $loc</a><br>\n";
        }
    }
    
    ?>

    file vedi_annuncio.php
    Codice:
    <?php
    
    $k=$_GET[k];
    
    $op_db=file("db.txt");
    
    $op_db=array_reverse($op_db);
    
    foreach($op_db as $kx => $val){
        if(($val!="")  && ($kx==$k)){
            list($nome,$titolo,$testo,$prezzo,$loc,$mail)=explode("|",$val);
            echo "nome: $nome<br><br>\ntitolo: $titolo<br><br>\ntesto annuncio:<br>$testo<br><br>\nPrezzo: $prezzo<br><br>\nLocalit&agrave; : $loc<br><br>\nemail:<br><a href=\"mailto:$mail\">$mail</a>";
         }
    }
    
    ?>

    spero che ti possa essere utile..

    ciao


    EDIT: l'ultimo explode è "attaccato" nn capisco perchè me lo stacca..
    Ultima modifica di jarkless : 20-11-2005 alle ore 19.07.40

  5. #5
    L'avatar di silverseraph
    silverseraph non è connesso AlterGuru
    Data registrazione
    27-04-2005
    Residenza
    Localhost
    Messaggi
    1,104

    Predefinito

    Grazie Mille!

  6. #6
    Guest

    Cool

    @ jarkless: ciao, ho porvato il tuo script...ma non mi funzia...mi aiuti?...tnk!

  7. #7
    Guest

    Predefinito

    Citazione Originalmente inviato da TurkoSoft
    @ jarkless: ciao, ho porvato il tuo script...ma non mi funzia...mi aiuti?...tnk!

    che errore ti da??

  8. #8
    L'avatar di silverseraph
    silverseraph non è connesso AlterGuru
    Data registrazione
    27-04-2005
    Residenza
    Localhost
    Messaggi
    1,104

    Predefinito

    a me funziona perfettamente

  9. #9
    L'avatar di silverseraph
    silverseraph non è connesso AlterGuru
    Data registrazione
    27-04-2005
    Residenza
    Localhost
    Messaggi
    1,104

    Predefinito

    Un'ultima cosa: allora io lo script l'ho messo: http://silverseraph.altervista.org/vedi_titoli.php

    noterete che ha lo sfondo bianco. volevo sapere come si faceva a fare in modo che ad esempio l'annuncio n°1 avesse lo sfondo blu, il secondo bianco e il terzo blu.

    grazie

  10. #10
    Guest

    Cool

    allora, in vedi_annuncio.php mi da qst: Parse error: syntax error, unexpected T_STRING in /membri/leoturko/annunci/vedi_annuncio.php on line 11
    e in vedi_titoli.php se clicco su quello ke mi esce, mi visualizza l'errore sopra...
    Citazione Originalmente inviato da vedi_annuncio.php
    <?php

    $k=$_GET[k];

    $op_db=file("db.txt");

    $op_db=array_reverse($op_db);

    foreach($op_db as $kx => $val){
    if(($val!="") && ($kx==$k)){
    list($nome,$mail,$cognome,$loc,$prezzo,$testo)=exp l ode("|",$val);
    echo "nome: $nome<br><br>\nmail: $mail<br><a href=\"mailto:$mail\">$mail</a><br>\ncognome cognome:<br>$testo<br><br>\nloc: $loc<br><br>\nloc; : $loc<br><br>\nprezzo:<br>$prezzo";
    }}

    ?>
    Citazione Originalmente inviato da vedi_titoli.php
    <?php

    $op_db=file("db.txt");

    $op_db=array_reverse($op_db);

    foreach($op_db as $k => $val){
    if($val!=""){
    list($nome,$titolo,$testo,$prezzo,$loc)=explode("| ",$val);
    echo "<a href=\"vedi_annuncio.php?k=$k\">$titolo - $prezzo - $loc</a><br>\n";
    }
    }
    ?>
    in vedi_titoli.php i link mi vengono sballati...oppure mi vien fuori -_-...help!

  11. #11
    Guest

    Predefinito

    Citazione Originalmente inviato da silverseraph
    Un'ultima cosa: allora io lo script l'ho messo: http://silverseraph.altervista.org/vedi_titoli.php

    noterete che ha lo sfondo bianco. volevo sapere come si faceva a fare in modo che ad esempio l'annuncio n°1 avesse lo sfondo blu, il secondo bianco e il terzo blu.

    grazie

    sostituisci in vedi_annunci.php con questo:

    Codice:
    <?php
    
    $op_db=file("db.txt");
    
    $op_db=array_reverse($op_db);
    $cx=1;
    foreach($op_db as $k => $val){
        if($val!=""){
            if($cx==1){
             $color="#0000FF";
             $cx=0;
        }else{
             $color="#FFFFFF";
             $cx=1;
        }
            list($nome,$titolo,$testo,$prezzo,$loc)=explode("|",$val);
            echo "<div style=\"background:$color\"><a href=\"vedi_annuncio.php?k=$k\">$titolo - $prezzo - $loc</a></div>\n";
        }
    }
    
    ?>

    ovviamente puoi sostituire i codici dei colori con quelli che vuoi..


    ciao


    EDIT:

    @turkosoft

    ti da errore perchè l'ultimo explode è "staccato" exp l ode "riattaccalo" explode..

    se posti la pag vedi_titoli.php potrò aiutarti meglio..

    ciao
    Ultima modifica di jarkless : 20-11-2005 alle ore 22.27.11

  12. #12
    L'avatar di silverseraph
    silverseraph non è connesso AlterGuru
    Data registrazione
    27-04-2005
    Residenza
    Localhost
    Messaggi
    1,104

    Predefinito

    a me nn va xkè l'ho impostato cn le tabelle e le celle quindi col div nn va

  13. #13
    Guest

    Predefinito

    Citazione Originalmente inviato da silverseraph
    a me nn va xkè l'ho impostato cn le tabelle e le celle quindi col div nn va
    basta inserire bgcolor=\"$color\" all'interno delle celle..

    Codice:
    echo "<table cellspacing=\"0\" cellpadding=\"0\" border=\0\" width=\"500\"><tr><td bgcolor=\"$color\"  width="\50%\" class=\"write\" ><a class=\"white\" href=\"v.... ecc..
    vedi un po..

  14. #14
    L'avatar di silverseraph
    silverseraph non è connesso AlterGuru
    Data registrazione
    27-04-2005
    Residenza
    Localhost
    Messaggi
    1,104

  15. #15
    Guest

    Predefinito

    posta il codice con le modifiche che hai effettuato...

  16. #16
    L'avatar di silverseraph
    silverseraph non è connesso AlterGuru
    Data registrazione
    27-04-2005
    Residenza
    Localhost
    Messaggi
    1,104

    Predefinito

    Codice:
    <?php
    
    $width_loc = "30%";
    $width_prezzo = "20%";
    $width_title = "50%";
    $width_tabella = "500";
    $classe= "class=\"write\" ";
    
    $op_db=file("db.txt");
    
    $op_db=array_reverse($op_db);
    $cx=1;
    foreach($op_db as $k => $val){
        if($val!=""){
            if($cx==1){
             $color="#ffffff";
             $cx=0;
        }else{
             $color="#dddddd";
             $cx=1;
        }
            list($nome,$titolo,$testo,$prezzo,$loc)=explode("|",$val);
            echo "<table style=\"background:$color\" cellspacing=\"0\" cellpadding=\"0\" border=\"0\" width=\"$width_tabella\"><tr><td bgcolor=\"$color\" width=\"$width_title\" $classe><a class=\"white\" href=\"vedi_annuncio.php?k=$k\"> $titolo</a></td><td bgcolor=\"$color\" width=\"$prezzo\" $classe> $prezzo</td><td bgcolor=\"$color\" width=\"$width_loc\" $classe> $loc</td></tr></table>\n";
        }
    }
    
    ?>

  17. #17
    Guest

    Predefinito

    ho dato un'occhiata al file db.txt..

    il problema è quello spazio tra le righe nel file db.txt..

  18. #18
    L'avatar di silverseraph
    silverseraph non è connesso AlterGuru
    Data registrazione
    27-04-2005
    Residenza
    Localhost
    Messaggi
    1,104

    Predefinito

    li ho tolti ma nn va

  19. #19
    Guest

    Predefinito

    io la vedo bene ora...

    cmq modifica anche il file inserisci_annunci.php in modo che non metta spazi tra le righe..

    cioè un solo \n

    $st="$nome|$titolo|$testo|$prezzo|$loc|$mail|\n";

    altrimenti quando aggiungi altri annunci si ripete sto casino..

  20. #20
    L'avatar di silverseraph
    silverseraph non è connesso AlterGuru
    Data registrazione
    27-04-2005
    Residenza
    Localhost
    Messaggi
    1,104

    Predefinito

    non ho capito bene

  21. #21
    L'avatar di silverseraph
    silverseraph non è connesso AlterGuru
    Data registrazione
    27-04-2005
    Residenza
    Localhost
    Messaggi
    1,104

    Predefinito

    Nel database quando inserisco un nuovo annuncio non riesce ad andare a capo da solo, infatti viene così

    SilverSeraph.com|Vendita Ericsson T28|Prova Creazione Annunci|10€|Cassino|staff@silverseraph.com|Andrea| Vendita SonyEricsson T610|Prova invio annuncio|80€|Cassino|staff@silverseraph.com|

    invece di così
    SilverSeraph.com|Vendita Ericsson T28|Prova Creazione Annunci|10€|Cassino|staff@silverseraph.com|
    Andrea|Vendita SonyEricsson T610|Prova invio annuncio|80€|Cassino|staff@silverseraph.com|

  22. #22
    Guest

    Predefinito

    nel file inserisci_annuncio.php

    devi mettere un "\n" (carattere di fine riga (dovrebbe chiamarsi così.. credo))..

    questo carattere "\n" interrompe la riga in modo che i prossimi dati vengano stampati sulla riga successiva..

    se non ne metti neanche uno di "\n" i dati vengono stampati tutti sulla stessa riga, se ne metti due viene lasciata una riga vuota e si ripete il problema di prima..

    quindi per risolvere, la riga 13 nel file inserisci_annuncio.php dovrebbe essere così:

    Codice:
    $st="$nome|$titolo|$testo|$prezzo|$loc|$mail|\n";

    spero di essere stato chiaro...

    ciao

  23. #23
    L'avatar di silverseraph
    silverseraph non è connesso AlterGuru
    Data registrazione
    27-04-2005
    Residenza
    Localhost
    Messaggi
    1,104

    Predefinito

    grazie.....un'altra cosa, come mai mi da errore nella riga 15 qui:

    Codice:
    <?php
    
    $width_tabella = "500";
    $classe= "class=\"write\" ";
    
    $k=$_GET[k];
    
    $op_db=file("db.txt");
    
    $op_db=array_reverse($op_db);
    
    foreach($op_db as $kx => $val){
        if(($val!="")  && ($kx==$k)){
            list($nome,$titolo,$testo,$prezzo,$loc,$mail)=explode("|",$val);
            echo "<table width=\"$width_tabella\" cellspacing=\"0\" cellpadding=\"0\" border=\"0"\><tr><td $classe>Inserzionista:</td><td $classe> $nome</td></tr><tr><td $classe>\nDescrizione:</td><td $classe> $titolo</td></tr><tr><td $classe>\nTesto annuncio:</td><td>$testo</td></tr><tr><td $classe>\nPrezzo:</td><td $classe> $prezzo</td></tr><tr><td $classe>\nLocalità:</td><td $classe> $loc</td></tr><tr><td $classe>\nEmail:</td><td $classe><a href=\"mailto:$mail\">$mail</a></td></tr></table>";
         }
    }
    
    ?>

    grazie

  24. #24
    Guest

    Predefinito

    eccomi..

    sostituisci le prime righe con queste :

    Codice:
    $width_tabella =500;
    $classe= 'class="write"';
    ed aggiusta quì:

    Codice:
    border=\"0"\
    così

    Codice:
    border=\"0\"
    il controlash \ deve precedere i doppi apici (lo so che lo sai)...


    così va di sicuro...

    ciao

  25. #25
    L'avatar di silverseraph
    silverseraph non è connesso AlterGuru
    Data registrazione
    27-04-2005
    Residenza
    Localhost
    Messaggi
    1,104

    Predefinito

    di nuovo grazie mille!

    p.s. se incontro qualche altro problema lo posto qui ;)

  26. #26
    L'avatar di silverseraph
    silverseraph non è connesso AlterGuru
    Data registrazione
    27-04-2005
    Residenza
    Localhost
    Messaggi
    1,104

    Predefinito

    rieccomi :D volevo chiederti nel form di inserimento se potevo inserire un menù a tendina con scritto cosa fai? e nel menù Vendo o Cerco così nella descrizione nei titoli apparirà Vendo... oppure Cerco.... e la descrizione dell'utente. Poi vorei inserire anche la data di emissione dell'anuncio.

    Grazie

  27. #27
    Guest

    Predefinito

    eccomi..

    allora..

    nel form inserisci un select tipo:
    Codice:
    <select name="azione">
    <option value="vendo">vendo</option>
    <option value="cerco">cerco</option>
    </select>

    poi nel file inserisci_annuncio.php inserisci:

    Codice:
    $azione=$_POST[azione];
    $data=date("d/m/Y");
    e sostituisci (sempre in inserisci_annuncio.php) questo:

    Codice:
    $st="$nome|$titolo|$testo|$prezzo|$loc|$mail|$azione|$data|\n";

    poi nel file vedi_titoli sostituisci:

    Codice:
    list($nome,$titolo,$testo,$prezzo,$loc,$mail,$azione,$data)=explode("|",$val);
    e ti stampi le $data(la data) e $azione (vendo o cerco) dove vuoi..

    lo stesso fai nel file vedi_annuncio.php:
    sostituisci:

    Codice:
    list($nome,$titolo,$testo,$prezzo,$loc,$mail,$azione,$data)=explode("|",$val);
    e fai lo stesso con le var $data e $azione come prima..



    ovviamente le variabili che vedi staccate devono essere riattaccate.. me le stacca sempre
    Ultima modifica di jarkless : 21-11-2005 alle ore 18.16.51

  28. #28
    L'avatar di silverseraph
    silverseraph non è connesso AlterGuru
    Data registrazione
    27-04-2005
    Residenza
    Localhost
    Messaggi
    1,104

    Predefinito

    Grazie, volevo avvertirti che ho scoperto una specie di bug: se invio il form senza aver compilato nulla me lo invia ugualmente, senza dare errore.

  29. #29
    Guest

    Predefinito

    Un altro post consecutivo e chiudo.

    Ciao!

  30. #30
    Guest

    Predefinito

    Citazione Originalmente inviato da silverseraph
    Grazie, volevo avvertirti che ho scoperto una specie di bug: se invio il form senza aver compilato nulla me lo invia ugualmente, senza dare errore.

    eccoti la soluzione..

    inserisci in inserisci_annuncio.php questo:

    Codice:
    if(($nome=="") || ($testo=="") || ($titolo=="") || (!is_numeric($prezzo)) || ($loc=="") || (!eregi( "^[_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,4}$",$mail))){
    
    echo "informazioni mancanti o non corrette";
    
    }else{
    questo lo devi inserire subito dopo la sfilza di $mai=$_POST[mail],$azione=$_POST[azione].. ecc...


    e poi alla fine (sempre in questo file) inserisci una } in modo da chiudere l' else..


    in questo modo dovranno essere obbligatori tutti i campi, nell'email dovranno essere presenti numeri o lettere + @ + numeri o lettere + . + da 2 a 4 lettere per il dominio ed il prezzo dovrà avere per forza un valore numerico.. se manca una sola di queste cose viene visualizzato il messaggio di errore..


    spero che volevi questo..

    ciao

Pagina 1 di 2 12 UltimoUltimo

Regole di scrittura

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