- Home
- Categorie
- Coding e Sistemistica
- Coding
- dritta php x sito
-
dritta php x sito
ciao a tutti.
vorrei ristrutturare un mio sito che è mini guida on line x ristoranti.
era stato creato in html e per ogni scheda ho fatto una singola pagina che come potrete ben immaginare non è x niente facile da gestire nel momento in cui si vogliano fare modifiche.
tempo fa avevo scoperto il comando include di php. premetto che non ho idea su come usare un DB volevo sapere se tramite include potevo comunque semplificare la gestione del sito da come è adesso.
strutturando la pagina nel seguente modo:div header (con include header.php)
div nav (nav.php)
div body (che conterrebbe la parte che cambia x ogni pagina con include pagina.php)
div footer (footer.php)è possibile richiamare la scheda x ogni ristorante?
nel div nav ci sarebbe il menu con: home, contatta e lista locali
cliccando su lista locali vorrei che in body si includesse la lista di tutti locali e che una volta selezionato uno mi si aprisse la scheda sempre in body.spero di essermi spiegato decentemente e che mi possiate aiutare con qualche dritta e/o critica al modo in cui voglio organizzare il sito.
grazie
ciao
-
Si certo che puoi usare gli include
Non ho capito invece la parte di pagina.php e della lista...
Se la lista la fai tu ok, va bene, nel corpo della pagina ci metti un <? include "lista.html"; ?> e poi devi creare tutte le pagine per ogni albergo.In alternativa usi un database, una pagina e una tabella.
-
ok, quindi se decido di usare gli include mi tocca fare una pagina x ogni locale che e' la cosa che vorrei evitare.
la soluzione database mi sembrerebbe la migliore visto che mi faciliterebbe non poco la manutenzione del sito. il problema e' proprio come iniziare.
io ho in mente una struttura a blocchi del sito in linea di massima ma non so come mettere in pratica la cosa.
tu ha i dette una pagina, un db e una tabella. di articoli su inet ce n'e' una marea di info ma non ho mai trovato qualcosa che rispondesse alle mie esigenze. non cerco qualcosa di gia' fatto ma qualcosa che mi potesse indirizzare solidamente sulla linea da seguire per lo sviluppo di un sito del genere.
il sito a cui mi ero inspirato coem idea e' [url=http://www.london-eating.co.uk]London Eating - London Restaurants Guide
ma con le poche conoscenze di db che ho la cosa e' poco fattibile.
dovessi creare un sito del genere, da dove partiresti? quali sarebbere i primissimi passi da seguire?
ciao:)
-
il discorso interessa molto anche me,
sono ai primi passi col php xò...creo una tabella con i seguenti campi:
id
nome
località
dati
tipologia
prezzi
descrizioneuna volta creata la struttura della tabella salvo il database,
come faccio ad estrapolare i dati senza dover scrivere a mano le pagine e intrfacciandole ad un menu?Anche il link di una guida va bene copme risposta
Ho cercato ma trovo tutte cose molto tecniche e senza esempi di codice... da novello mi perdo...
-
@spidermassi said:
dovessi creare un sito del genere, da dove partiresti? quali sarebbere i primissimi passi da seguire?
Il database è l'ultima cosa.
Per farti un'idea guarda questa discussione [url=http://www.giorgiotave.it/forum/php-mysql/13107-script-per-database.html]"Script Per database"
-
allora, innanzitutto grazie x la risposta.
io non ho intenzione al momento di avere utenti registrati, quindi la mia idea è che tu vai sul sito, aggiungi un tuo commento ai locali già presenti o ne aggiungi uno tramite il modulo (che al momento mi manda una mail con tutti i dati e commentio del locale e io smanetto un po una volta ricevuta la mail x creare una pagina nuova html.
ora io vorrei fare si che al posto di inviarmi la mail il form inviasse le info a un data base che come per magia mi aggiorna la pagina.
quindi presumo che l'install.php del 3d che mi hai fatto guardare non dovrebbe avere il settaggio con user, password ecc. giusto?
poi siccome ho 4 criteri di valutazione (al momento da uno a 4 ma vorrei farli da 1 a 10, anche questo non lo vedo troppo semplice da gestire...)quindi diciamo che non parto proprio da zero visto che il form c'è giù e funzione pure:D..
-
@spidermassi said:
allora, innanzitutto grazie x la risposta.
Figurati
@spidermassi said:
io non ho intenzione al momento di avere utenti registrati, quindi la mia idea è che tu vai sul sito, aggiungi un tuo commento ai locali già presenti o ne aggiungi uno tramite il modulo (che al momento mi manda una mail con tutti i dati e commentio del locale e io smanetto un po una volta ricevuta la mail x creare una pagina nuova html.
ora io vorrei fare si che al posto di inviarmi la mail il form inviasse le info a un data base che come per magia mi aggiorna la pagina.Un form che inserisca un locale in automatico.
Io lo so fare, ma pecco in sicurezza, dato che non so mettere un captcha[di norma infatti faccio con registrazione
]
@spidermassi said:
quindi presumo che l'install.php del 3d che mi hai fatto guardare non dovrebbe avere il settaggio con user, password ecc. giusto?
Che campi vuoi?
@spidermassi said:
poi siccome ho 4 criteri di valutazione (al momento da uno a 4 ma vorrei farli da 1 a 10, anche questo non lo vedo troppo semplice da gestire...)
Dici?
Io uso un sistema di valutazione decimale nel mio sito. (lo vedi solo se registrato)
Spiega meglio
-
rieccoci!
anche con meno sicurezza prediligo la non registrazione perche' io personalemte come utente la trovo fastidiosa. io personalmetne non ho voglia di dovermi registrare a ogni sito che visito.. quindo magari il discorso sicurezza potrebbe essere migliorato una volta che modifico il sito.
la valutazione in deciamale la vedo bene anch'io ma non volevo avere dei numeri che mostrassero la valutazione ma dei simboli (adesempio le classiche stelline)i campi che vorrei utilizzare sarebbero:
nome
indirizzo
citta (la citta la metterei separata visto che sarebbe poi un criterio di ricerca ax zona
telefono, indirizzo web
tipologia locale
costo medio
e poi i 4 criteri di valutazione- una possibile descrizione del locale (giusto 2 righe)
poi ci sarebbe (se visitato da me personalmente) un commento del sito
e poi tutti i vari commenti degli utenti.
esempio:
nome localeindirizzo (via , num civico)
citta paperopoli
tel. 02125411255
tipo: ristorante Marocchino
costo medio: 25 euro portata pricipale + vino; 35 euro inclusi anche gli antipasti
**mini descrizione (facoltativa)**Ristorante tipico marocchino situato a due passi dal porto.**qualità cibo:**x x x x x
**servizio:**x x x x x
**atmosfera:**x x x x x
rapporto qualità prezzo: x x x x xi ns commenti
bla gfsdjfhsh dgjishyiotryy
tyyutryu bla bla**i vostri commenti **bla bla bla bla
blabbdjghdfh hihgifhgifghf
13-06-05 da: Pippobla bla bla bla
blabbdjghdfh hihgifhgifghf
15-06-06 da: Plutomi sono spiegato meglio?
che dici?
-
@Il_Rappo said:
Il database è l'ultima cosa.
Perchè dici che il DB è l'ultima cosa?
Secondo me è la prima,
un buon database strutturato permette
di creare poi anche un sito altrettanto organico non credi?Tornando a noi:
Io creerei 3 Tabelle,Ristorante
( id_Ristorante
nome
...
)Commenti_utenti
(
id_commento_utenti
id_Ristorante
Commento
Autore
Data
...
)Commenti_webmaster
(
id_commento_webmaster
id_Ristorante
Commento
Autore
Data
...
)Per scrivere nei database dovresti imparare l'SQL...
o in alternativa usare Dreamweaver o tools di autocomposizione...
ma se non sai programmare i PHP è un po'lunghetta anche
se non impossibile...
-
@Dusy said:
Perchè dici che il DB è l'ultima cosa?
Secondo me è la prima,
un buon database strutturato permette
di creare poi anche un sito altrettanto organico non credi?Beh, io di solito prima costruisco sito e poi faccio tutto il database
Per il caso in questione bastano due tabelle
@spidermassi said:
i campi che vorrei utilizzare sarebbero:
nome
indirizzo
citta (la citta la metterei separata visto che sarebbe poi un criterio di ricerca ax zona
telefono, indirizzo web
tipologia locale
costo medio
e poi i 4 criteri di valutazione- una possibile descrizione del locale (giusto 2 righe)
poi ci sarebbe (se visitato da me personalmente) un commento del sito
e poi tutti i vari commenti degli utenti.
Ok, al posto di quell'install.php quando compare
$sql = 'CREATE TABLE `contatti` (' . ' `idc` int(11) NOT NULL default \'0\',' . ' `nome` varchar(100) NOT NULL default \'\',' . ' `cognome` varchar(100) NOT NULL default \'\',' . ' `email` varchar(100) NOT NULL default \'\',' . ' PRIMARY KEY (`idc`)' . ' ) TYPE=MyISAM';
Tu metti questo
$sql = 'CREATE TABLE `locale` (' . ' `idl` int(11) NOT NULL default \'0\',' . ' `nome` varchar(250) NOT NULL default \'\',' . ' `indirizzo` varchar(250) NOT NULL default \'\',' . ' `citta` varchar(200) NOT NULL default \'\',' . ' `telefono` varchar(200) NULL default \'\',' . ' `web` varchar(200) NULL default \'\',' . ' `tipo` varchar(200) NOT NULL default \'\',' . ' `costo` varchar(200) NOT NULL default \'\',' . ' `valutazione` varchar(200) NOT NULL default \'\',' . ' `descrizione` text,' . ' `commento` text,' . ' PRIMARY KEY (`idl`)' . ' ) TYPE=MyISAM'; 'CREATE TABLE `commenti` (' . ' `nick` varchar(20) NOT NULL default \'\',' . ' `data` datetime NOT NULL default \'0000-00-00 00:00:00\',' . ' `testo` text NOT NULL,' . ' `voto` int(11) NOT NULL default \'0\',' . ' `mail` varchar(50) default NULL,' . ' `ip` varchar(20) NOT NULL default \'\',' . ' `locale` int(11) NOT NULL default \'0\',' . ' PRIMARY KEY (`nick`,`data`)' . ' ) TYPE=MyISAM';
Dovrebbe funzionare
-
Bene ma se usi due tabelle e non vuoi utilizzare i log-in
aggiungi il campo tipo_commento (Commento Utente o Commento Interno)'CREATE TABLE
commenti
('
. 'nick
varchar(20) NOT NULL default '','
. 'tipo_commento
varchar(1) default NULL,'
. 'data
datetime NOT NULL default '0000-00-00 00:00:00','
. 'testo
text NOT NULL,'
. 'voto
int(11) NOT NULL default '0','
. 'mail
varchar(50) default NULL,'
. 'ip
varchar(20) NOT NULL default '','
. 'locale
int(11) NOT NULL default '0','
. ' PRIMARY KEY (nick
,data
)'
. ' ) TYPE=MyISAM';
-
Dusy avevo messo questo campo
. ' `commento` text,'
apposta per il commento da parte dell'autore
E l'altra tabella per gli altri commenti
-
Allora siamo d'accordo
-
allora,
vediamo se ho capito..
creo il mio file install.phpal momento ho questa pagina per il form:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>segnala locale</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <link href="style.css" rel="stylesheet" type="text/css"> </head> <body> <table width="850" border="0" align="center" cellpadding="0" cellspacing="0" id="main"> <tr> <td class="main_table"><table width="800" border="0" align="center" cellpadding="0" cellspacing="0"> <tr> <td class="table_spacer"> </td> </tr> <tr> <td class="header"> </td> </tr> <tr> <td class="table_spacer"> </td> </tr> <tr> <td class="menu"><table width="800" border="0" cellspacing="0" cellpadding="0"> <tr> <td width="28"> </td> <td width="65"><a href="main.htm" target="_self">home</a></td> <td width="65"><a href="lista.htm" target="_self">locali</a></td> <td width="105"><a href="offerte.htm" target="_self">promozioni</a></td> <td width="100"><a href="ristoratori.htm" target="_self">ristoratori</a></td> <td width="65"><a href="about.htm" target="_self">about</a></td> <td width="405">segnala</td> <td width="31"> </td> </tr> </table></td> </tr> <tr> <td class="table_spacer"> </td> </tr> <tr> <td class="titolo_pag_segnala"> </td> </tr> <tr> <td><table width="800" border="0" cellpadding="0" cellspacing="0" id="testo"> <tr> <td class="testo"><table width="750" border="0" cellspacing="1" cellpadding="0"> <tr> <td colspan="5"> </td> </tr> <form method="POST" action="./mail/mail.php"> <tr> <td width="184">nome locale *</td> <td colspan="2"><input name="nomelocale" type="text" class="testobox" id="nomelocale" size="55"> </td> <td width="24"> </td> <td width="42"> </td> </tr> <tr> <td>indirizzo * </td> <td colspan="2"><input name="indirizzo" type="text" class="testobox" id="indirizzo" value="" size="55"> </td> <td> </td> <td> </td> </tr> <tr> <td>città * </td> <td colspan="2"> <input name="citta" type="text" class="testobox" id="citta" size="40"> </td><td> </td> <td> </td> </tr> <tr> <td>tel</td> <td colspan="2"><input name="tel" type="text" class="testobox" id="tel"></td> <td> </td> <td> </td> </tr> <tr> <td>tipologia locale*</td> <td colspan="2" bgcolor="#E7E3DE"><select name="tipo" class="testobox" id="tipo"> <option>seleziona tipologia</option> <option>---------------------------</option> <option>ristorante</option> <option>trattoria/osteria</option> <option>pizzeria</option> <option>agriturismo</option> <option>bar</option> <option>enoteca</option> </select></td> <td> </td> <td> </td> </tr> <tr> <td>costo medio per persona * </td> <td colspan="2"><input name="costomedio" type="text" class="testobox" id="costomedio" size="10"> <strong>?</strong></td><td> </td> <td> </td> </tr> <tr> <td>voto * </td> <td colspan="2" bgcolor="#E7E3DE"><select name="qualita" class="testobox" id="qualita"> <option>1</option> <option>2</option> <option>3</option> <option>4</option> </select> <strong>qualità cibo</strong></td> <td> </td> <td> </td> </tr> <tr> <td> </td> <td colspan="2"> <select name="servizio" class="testobox" id="servizio"> <option>1</option> <option>2</option> <option>3</option> <option>4</option> </select> <strong>servizio</strong></td> <td> </td> <td> </td> </tr> <tr> <td> </td> <td colspan="2"> <select name="atmosfera" class="testobox" id="atmosfera"> <option>1</option> <option>2</option> <option>3</option> <option>4</option> </select> <strong>atmosfera</strong></td> <td> </td> <td> </td> </tr> <tr> <td> </td> <td colspan="2"> <select name="rapporto" class="testobox" id="rapporto"> <option>1</option> <option>2</option> <option>3</option> <option>4</option> </select> <strong>rapporto qualità prezzo</strong></td> <td> </td> <td> </td> </tr> <tr> <td>commento * <p> </p> <p> </p> <p> </p></td> <td colspan="2"><textarea name="commento" cols="40" rows="5" class="testobox" id="commento"></textarea> </td><td> </td> <td> </td> </tr> <tr> <td>tuo nome * </td> <td colspan="2"><input name="nomeutente" type="text" class="testobox" id="nomeutente"> </td><td> </td> <td> </td> </tr> <tr> <td>tua email * </td> <td colspan="2"><input name="mailutente" type="text" class="testobox" id="mailutente"> (che non verrà pubblicata sul sito) </td><td> </td> <td> </td> </tr> <tr> <td> </td> <td colspan="2"> </td> <td> </td> <td> </td> </tr> <tr> <td> </td> <td width="190"><input type="submit" name="Submit" value="Invia"></td> <td width="304"> </td> <td> </td> <td> </td> </tr> <tr> <td> </td> <td> </td> <td> </td> <td> </td> <td> </td> </tr> <tr> <td colspan="5" class="spacer_lista_locali"> </td> </tr> </table> </td> </tr> </table> </td> </tr> <tr> <td class="testo"><p><strong>* campi obbligatori</strong></p> </td> </tr> <tr> <td class="table_spacer"> </td> </tr> <tr> </tr> </table></td> </tr> <tr> <td><div align="center"><img src="pics/bottom_page.jpg" width="848" height="14"></div></td> </tr> </form> </table> </body> </html>
non guardate le tabelle xchè quando avevo fatto la pagina un anno fa non ero molto pratico con i css....:D
e poi ho il file che mi prende i dati e me li manda via mail.
<?php // DESTINATARIO MAIL $to = "[email protected]"; // SOGGETTO MAIL $subject = "CONTACT FORM FOR $nomelocale - $citta"; // BODY $body .= "DETTAGLI LOCALE:\n\n"; $body .= "NOME LOCALE: " . trim(stripslashes($_POST["nomelocale"])) . "\n"; $body .= "INDIRIZZO: " . trim(stripslashes($_POST["indirizzo"])) . "\n"; $body .= "CITTA': " . trim(stripslashes($_POST["citta"])) . "\n"; $body .= "TEL.: " . trim(stripslashes($_POST["tel"])) . "\n"; $body .= "TIPOLOGIA: " . trim(stripslashes($_POST["tipo"])) . "\n"; $body .= "COSTO MEDIO: " . trim(stripslashes($_POST["costomedio"])) . "\n"; $body .= "---------------------------------------------------\n"; $body .= "QUALITA' CIBO: " . trim(stripslashes($_POST["qualita"])) . "\n"; $body .= "SERVIZIO: " . trim(stripslashes($_POST["servizio"])) . "\n"; $body .= "ATMOSFERA: " . trim(stripslashes($_POST["atmosfera"])) . "\n"; $body .= "RAPPORTO QUALITA' PREZZO: " . trim(stripslashes($_POST["rapporto"])) . "\n"; $body .= "---------------------------------------------------\n"; $body .= "COMMENTO: " . trim(stripslashes($_POST["commento"])) . "\n"; $body .= "---------------------------------------------------\n"; $body .= "NOME UTENTE: " . trim(stripslashes($_POST["nomeutente"])) . "\n"; $body .= "MAIL UTENTE: " . trim(stripslashes($_POST["mailutente"])) . "\n\n"; // INTESTAZIONI SUPPLEMENTARI $headers = "From: sito.COM>"; if (empty($nomelocale) || empty($indirizzo) || empty($citta) || empty($tipo) || empty($costomedio) || empty($qualita) || empty($servizio) || empty($atmosfera) || empty($rapporto) || empty($commento) || empty($nomeutente) || empty($mailutente)) { // BLOCCO XCHE ALCUNI CAMPI SONO VUOTI header('Location: back.htm'); exit(); } // INVIO MAIL if(@mail($to, $subject, $body, $headers)) { // SE INOLTRO OK... header('Location: http://www.sito.com/conferma.htm'); } else {// sennò... echo "A problem occurred while sending the email."; } ?>
come faccio interagire questa pagina con il db e fare creare dinamicamente le pagine?
e a sto punto pure la pagina con la lista dovrebbe crearsi dinamicamente...
mi sto perdendo..:?
-
come faccio interagire questa pagina con il db e fare creare dinamicamente le pagine?
L'interazione con la mail non la so fare, e ora ho a malapena il tempo di respirare
e a sto punto pure la pagina con la lista dovrebbe crearsi dinamicamente...
mi sto perdendo..È sempre la stessa pagina
Ora però non ho il tempo di scrivertelaSe io ti dò una pagina base, poi tu sei in grado di modificarla?
-
ciao Rappo,
eccomi di nuovo qui.** È sempre la stessa pagina**> in che senso è la stessa pagina?
** Se io ti dò una pagina base, poi tu sei in grado di modificarla?> **posso provare ma non ne sono troppo sicuro... proviamo...:(
grazie ancora!