Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 25
  1. #1

    [PHP] refresh di una parte del cms

    premetto che sto creando da zero un CMS... sta andando tutto a meraviglia tranne che per un piccolissimo problema... io ho suddiviso il layout grazie ai css in una cosa simile:

    |==================================|
    |---------------- HEADER -------------------|
    |==================================|
    |----------|---------------------------------|
    |----------|---------------------------------|
    |----------|---------------------------------|
    |---LEFT--|------- CONTENTS ---------------|
    |--BLOCK--|---------------------------------|
    |----------|---------------------------------|
    |----------|---------------------------------|
    |----------|---------------------------------|
    |----------|---------------------------------|
    |==================================|
    |---------------- FOOTER -------------------|
    |==================================|

    simile perché poi FOOTER ed HEADER sono suddivisi anch'essi per permettere all'header di inserire un logo ed una descrizione, mentre al footer di organizzare meglio i contenuti su copyright, validazione w3c e quant'altro...

    il problema però è in LEFT-BLOCK che, come avete già capito, è il menu di navigazione del sito... i vari menu (ed i vari blocchi di menu) vengono gestiti tramite CSS e sono dinamici in quanto la variazione dei link è effettuabile da pannello di amministrazione (anche se salva su file invece che su database, il passaggio al database lo faccio per ultimo non conoscendo ancora bene l'SQL)...

    arriviamo al dunque... in left-block ho tutti i menu ed alla fine dei menu ho il modulo di login al sito... il login funziona correttamente ma la domanda è: una volta effettuato il login (quindi nel momento in cui clicco sul tasto Login) posso ricaricare SOLAMENTE il left-block.php togliendo il modulo di login sostituendolo con una scritto "ciao $user, sei ora loggato al sito."?

    vi posto un po di formazioni prettamente legate al codice:

    left-block.php
    codice:
    /* ... sopra c'è tutto l'algoritmo per la lettura del file-database
    contenente i vari blocchi di menu che funziona
    perfettamente, quello che segue è il vero problema: il form di login */
    	if($user == $usr && $pass == $psw)
    	{
    		echo "Ciao $user, Sei collegato come amministratore del sito.";
    	}
    	
    	else
    	{
    		echo "<form name=\"login\" action=\"?link=admin/login\" method=\"post\">";
    		echo "	<div align=\"center\">$username</div>";
    		echo "	<input type=\"text\" name=\"user\" style=\"font-size: 11px;\" value=\"\" size=\"22\">";
    		echo "	<div align=\"center\">$password</div>";
    		echo "	<input type=\"password\" name=\"pass\" style=\"font-size: 11px;\" value=\"\" size=\"10\"><input type=\"submit\" value=\"Login\">";
    		echo "</form>";
    	}
    	
    	//header() = fa il refresh della pagina... O_O ma lo fa infinite volte e mi manda in casino Apache <_<
    	header("Location: $_SERVER[PHP_SELF]");
    come vedete, io ho pensato di risolvere il problema con la funzione php header("Location: pagina.php"); ed effettivamente questa soluzione funziona... peccato che funziona INFINITE volte... ovvero appena carico in localhost il sito, quello mi si pianta sul left-block in quanto la funzione header() viene sempre richiamata senza un controllo che ne limiti il richiamo della funzione.

    in linea comunque di principio controllo con un if se lo username e la password inserite corrispondono a quelle contenute nel file di configurazione, se combaciano allora stampo a video la scritta "ciao sei connesso" altrimenti gli stampo il modulo di login...

    io non sono in grado (è da un giorno che sono bloccato su questo problema) di elaborare una soluzione... c'è qualcuno che ha già avuto a che fare con questa situazione? o che si vorrebbe fare qualche sega mentale per aiutarmi? xD

    ringrazio in anticipo per ogni soluzione... ps. se qualcuno ha una soluzione COMPLETAMENTE DIVERSA dalla mia, va bene comunque ^^ sono in fase di apprendimento ^^

  2. #2
    proprio nessuno che mi voglia aiutare? ovviamente nella documentazione del cms lo cito nei credits... se poi qualcuno vuole anche partecipare al progetto (magari uno che come me si sta esercitando al php) mi manda un messaggio privato che ci scambiamo i contatti ^^

  3. #3
    Utente di HTML.it L'avatar di strae
    Registrato dal
    Apr 2008
    Messaggi
    407
    Se ho capito bene, quando l'utente fà il login non vuoi aggiornare tutta la pagina ma solo il blocco del login, mettendo 'bentornato pippo'.

    Ma perchè? solitamente in un cms i contenuti cambiano radicalmente se l'utente è loggato o meno, in base ai suoi permessi.

    Cmq, per fare quello che chiedi, nel blocco del login togli il form e utilizza una chiamata ajax, che poi aggiorna l'html solo del blocco in questione.

    Jquery può darti una mano in questo.

    poi..non voglio fare il rompiballe, ma mi pare di capire che sei agli inizi con php, database e web in generale.. stai costruendo un cms per imparare il php (e allora è ok), o perchè devi realizzare un sito? o ancora perchè i cms esistenti non ti soddisfano?

    Cioè, non è una cosa da poco creare un cms da zero
    You HAVE to assume your visitor is a maniac serial killer, out to destroy your application. And you have to prevent it.
    I can accept failure, everyone fails at something - But I can't accept not trying.

  4. #4
    poi..non voglio fare il rompiballe, ma mi pare di capire che sei agli inizi con php, database e web in generale.. stai costruendo un cms per imparare il php (e allora è ok), o perchè devi realizzare un sito? o ancora perchè i cms esistenti non ti soddisfano?

    Cioè, non è una cosa da poco creare un cms da zero
    sui tuoi dubbi sulla creazione del cms sì immaginavo che qualcuno me lo avrebbe fatto notare... io ho un'ottima conoscenza del C e del Java... quindi non è la sintassi del linguaggio che mi spaventa... più che altro è la logica e la sua integrazione in una pagina html... giusto per dirti, è da 3 giorni che ho iniziato a studiare il php ed è da 3 giorni che ci sto lavorando, solo la giornata di oggi per fare alcuni lavori grafici sul css e per trovare una soluzione al modulo di login, tutto il resto (e sono già a buon punto per le funzionalità di base) l'ho fatto in 2 giorni... quindi non penso sia una impresa ardua per me... però come tutti sono umano e qualche difficoltà (come questa) la trovo pur io xD per questo chiedevo un vostro aiuto... xD

    comunque i cms attuali sono "troppo" rispetto a quel che mi serve... quel che mi serve sono poche funzioni e vorrei creare un cms con queste poche funzioni che poi mi servirà per creare siti web per alcuni clienti... con l'esperienza (più siti farò) più funzioni implementerò, ma so che funzioni ho implementato, so come l'ho costruito e sopratutto so che le funzioni che ho implementato sono lo stretto necessario ^^ in realtà, dato che ho alcuni siti da fare... intanto li faccio semplici e statici (dato che sono molti e nessuno con grosse pretese), una volta finito il cms, farò l'upgrade alla nuova piattaforma ^^

    Originariamente inviato da strae
    Se ho capito bene, quando l'utente fà il login non vuoi aggiornare tutta la pagina ma solo il blocco del login, mettendo 'bentornato pippo'.

    Ma perchè? solitamente in un cms i contenuti cambiano radicalmente se l'utente è loggato o meno, in base ai suoi permessi.
    vero hai ragione... ma lo sto facendo a livelli... al momento c'è un solo iscritto e non è possibile iscriversi xD l'unico iscritto è l'amministratore... poi quando avrò risolto questo problema penserò a strutturare una gerarchia di permessi ^^ pian pianino faccio tutto ^^

    Cmq, per fare quello che chiedi, nel blocco del login togli il form e utilizza una chiamata ajax, che poi aggiorna l'html solo del blocco in questione.

    Jquery può darti una mano in questo.
    tocca studiare ajax e Jquery allora? soluzione in puro php non esiste?

    grazie mille della tua risposta ^^

  5. #5
    Mica per fare il rompiballe anche io, ma forse nel tuo manualino di php ti è sfuggito il fatto che php sia un linguaggio lato server e non lato client... quindi chiediti come possa funzionare "dopo" che l'html è arrivato al client che te lo fa visualizzare... senza dubbio subentrano altre tecnologie.. nel particolare, Javascript... scegli il framework che piu ti ispira (sinceramente vista la tua conoscenza pregressa andrei piu su prototype che su jquery, ha una logica piu vicina alla programmazione classica) e fai le tue bella paginette dinamiche

    e mi raccomando di non morire dietro ai css e ai vari browser... una vera rottura di scatole...

    ah, ovviamente la soluzione del refresh con chiamata ajax la ritengo anche io l'unica strada percorribile. Resta valida l'obiezione che il login di un utente debba causare il refresh di tutta la pagina che si sta visualizzando, e quindi sarebbe meglio la submit classica di un form.. in questo modo i contenuti potrebbero cambiare facilmente in tutta la pagina per dare altre informazioni..

    Invece potresti pensare all'aggiornamento tramite ajax delle pagine ad esempio per gestire il cambio di pagina.. ovvero i tuoi pulsanti invece di caricare tutta la pagina con una normale get http, fanno ricaricare solo una parte di essa (la parte CONTENTS ad esempio) usando ajax

    Buon lavoro


    EDIT: mi raccomando, usa un framework per realizzare il cms
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  6. #6
    Utente di HTML.it L'avatar di strae
    Registrato dal
    Apr 2008
    Messaggi
    407
    Originariamente inviato da Nakun
    sui tuoi dubbi sulla creazione del cms sì immaginavo che qualcuno me lo avrebbe fatto notare... io ho un'ottima conoscenza del C e del Java... quindi non è la sintassi del linguaggio che mi spaventa... più che altro è la logica e la sua integrazione in una pagina html... giusto per dirti, è da 3 giorni che ho iniziato a studiare il php ed è da 3 giorni che ci sto lavorando, solo la giornata di oggi per fare alcuni lavori grafici sul css e per trovare una soluzione al modulo di login, tutto il resto (e sono già a buon punto per le funzionalità di base) l'ho fatto in 2 giorni... quindi non penso sia una impresa ardua per me... però come tutti sono umano e qualche difficoltà (come questa) la trovo pur io xD per questo chiedevo un vostro aiuto... xD
    Quindi, come immaginavo, ti stai avvicinando a php adesso e scrivere un cms (o un qualsiasi progetto) credo sia uno dei metodi migliori di imparare un linguaggio.. mettiti php.net nei preferiti
    Però, lascia che ti dia un consiglio: stai molto attento a usarlo poi in produzione, anche se 'funziona': ci sono molte misure di sicurezza da implementare in un cms, prima di venderlo a un cliente assicurati che non sia un 'colabrodo'

    Originariamente inviato da Nakun
    comunque i cms attuali sono "troppo" rispetto a quel che mi serve... quel che mi serve sono poche funzioni e vorrei creare un cms con queste poche funzioni che poi mi servirà per creare siti web per alcuni clienti... con l'esperienza (più siti farò) più funzioni implementerò, ma so che funzioni ho implementato, so come l'ho costruito e sopratutto so che le funzioni che ho implementato sono lo stretto necessario ^^ in realtà, dato che ho alcuni siti da fare... intanto li faccio semplici e statici (dato che sono molti e nessuno con grosse pretese), una volta finito il cms, farò l'upgrade alla nuova piattaforma ^^
    Mmhh, non posso non essere in disaccordo con quest'ultimo pezzo.. ti consiglierei di provare un paio di cms, drupal, typo (per cose semplici anche wordpress, che nonostante sia un blog ci ho visto azienda farci veri e propri portali.. con conseguenza non sempre rosee).

    Il problema dell'overkill non credo non si ponga, se non a livelli molto molto alti dove hai un gran numero di visite giornaliere, risorse impegnate, allora si che ottimizzare il codice perchè faccia solo quello che deve fare e niente in più ha un senso e un risparmio in termini di risorse.

    Però, perchè reinventare la ruota, facendo un nuovo cms al quale dovrai poi aggiungere praticamente tutte le funzioni che altri cms hanno già?

    Dal mio punto di vista, l'unico motivo valido è perchè i cms esistenti non ti soddisfano.. ma mi sembra di capire che non sia questo il problema..

    In bocca al lupo cmq!
    You HAVE to assume your visitor is a maniac serial killer, out to destroy your application. And you have to prevent it.
    I can accept failure, everyone fails at something - But I can't accept not trying.

  7. #7
    Originariamente inviato da Santino83_02
    Mica per fare il rompiballe anche io, ma forse nel tuo manualino di php ti è sfuggito il fatto che php sia un linguaggio lato server e non lato client... quindi chiediti come possa funzionare "dopo" che l'html è arrivato al client che te lo fa visualizzare... senza dubbio subentrano altre tecnologie.. nel particolare, Javascript... scegli il framework che piu ti ispira (sinceramente vista la tua conoscenza pregressa andrei piu su prototype che su jquery, ha una logica piu vicina alla programmazione classica) e fai le tue bella paginette dinamiche
    no non mi è sfuggito, tanto è vero che avevo pensato alla soluzione onclick sul pulsante di Login che richiamava una funzione javascript che aggiornava (con il click sul pulsante di Login) una variabile di controllo da poi usarlo in un ciclo per il refresh della pagina con header()... tutto ottimo in teoria (ho anche già studiato un metodo per passare una variabile php ad una funzione javascript e viceversa), peccato che la cosa fosse impraticabile proprio per questo problema che hai sollevato... infatti quella è stata l'ultima soluzione che avevo elaborato prima di venire qua a chiedere aiuto... xD non chiedo aiuto alla prima difficoltà, se sono qua significa che c'è qualcosa di logico che a me sfugge ma che comunque ci sono stato a pensare parecchio ^^ anche se non è un progetto di università, comunque ci sto lavorando con impegno proprio perché per me è un'occasione per imparare qualcosa di nuovo!

    e mi raccomando di non morire dietro ai css e ai vari browser... una vera rottura di scatole...
    ho solo una incompatibilità nel footer con internet explorer... tuttavia conosco bene lo standard w3c anche per quel che riguarda i css... infatti a parte quella sbavatura nel footer (che però è fastidiosa) su internet explorer il resto è tutto ok... quel problema con internet explorer lo risolverò in seguito, non è una mia priorità al momento xD

    ah, ovviamente la soluzione del refresh con chiamata ajax la ritengo anche io l'unica strada percorribile. Resta valida l'obiezione che il login di un utente debba causare il refresh di tutta la pagina che si sta visualizzando, e quindi sarebbe meglio la submit classica di un form.. in questo modo i contenuti potrebbero cambiare facilmente in tutta la pagina per dare altre informazioni..

    Invece potresti pensare all'aggiornamento tramite ajax delle pagine ad esempio per gestire il cambio di pagina.. ovvero i tuoi pulsanti invece di caricare tutta la pagina con una normale get http, fanno ricaricare solo una parte di essa (la parte CONTENTS ad esempio) usando ajax
    quindi mi stai suggerendo di ricaricare l'intero sito web nel momento in cui si clicca su Login? fino ad ora ho pensato di refreshare solo il LEFT-BLOCK... effettivamente ora che mi ci fate pensare avrebbe molto più senso ricaricare tutto...

    Buon lavoro
    grazie =)

  8. #8
    [QUOTE]Originariamente inviato da strae
    Quindi, come immaginavo, ti stai avvicinando a php adesso e scrivere un cms (o un qualsiasi progetto) credo sia uno dei metodi migliori di imparare un linguaggio.. mettiti php.net nei preferiti
    Però, lascia che ti dia un consiglio: stai molto attento a usarlo poi in produzione, anche se 'funziona': ci sono molte misure di sicurezza da implementare in un cms, prima di venderlo a un cliente assicurati che non sia un 'colabrodo'
    [/quoto]
    concordo sul fatto della sicurezza... non vendo un prodotto facilmente hackerabile... sicurezza ASSOLUTA purtroppo non è possibile assicurarla, le vie dell'hackeraggio sono infinite xD però un minimo di sicurezza sono sicuro di poterla assicurare (per esempio all'area di amministrazione è possibile accedere solo se effettuato il login (il login effettuato non tramite cookie ma tramite sessioni per il fatto che per il problema della privacy non tutti abilitano i cookies)... ho messo un controllo nella pagina di amministrazione che controlla anche eventuali accessi indiretti... sapere il nome ed il percorso della pagina di amministrazione non è di nessun aiuto se non hai i dati dell'amministrazione... non ho risolto totalmente il problema ma per averci lavorato 3 giorni direi che è già un buon punto di partenza ^^

    Mmhh, non posso non essere in disaccordo con quest'ultimo pezzo.. ti consiglierei di provare un paio di cms, drupal, typo (per cose semplici anche wordpress, che nonostante sia un blog ci ho visto azienda farci veri e propri portali.. con conseguenza non sempre rosee).

    Il problema dell'overkill non credo non si ponga, se non a livelli molto molto alti dove hai un gran numero di visite giornaliere, risorse impegnate, allora si che ottimizzare il codice perchè faccia solo quello che deve fare e niente in più ha un senso e un risparmio in termini di risorse.

    Però, perchè reinventare la ruota, facendo un nuovo cms al quale dovrai poi aggiungere praticamente tutte le funzioni che altri cms hanno già?

    Dal mio punto di vista, l'unico motivo valido è perchè i cms esistenti non ti soddisfano.. ma mi sembra di capire che non sia questo il problema..

    In bocca al lupo cmq!
    posso capire il tuo punto di vista... è vero che i cms esistenti non mi soddisfano... ogni volta che ne devo usare uno, devo ristudiarmi sempre il codice per modificarne il template... inoltre essendo "popolari" hanno tutti un codice orribile ed inadatto a semplici modifiche... per un bar/ristorante o per un negozietto in centro (target dei miei attuali clienti) fare quelle piccole modifiche mi costa molto di più che non creare un cms nuovo...

    comunque grazie dell'imbocca al lupo ^^

  9. #9
    Utente di HTML.it L'avatar di strae
    Registrato dal
    Apr 2008
    Messaggi
    407
    Originariamente inviato da Nakun
    posso capire il tuo punto di vista... è vero che i cms esistenti non mi soddisfano... ogni volta che ne devo usare uno, devo ristudiarmi sempre il codice per modificarne il template...
    Scusa ma che cms hai provato finora? onefilecms?
    Per quel che riguarda il template, bhè ovvio, almeno la parte grafica bisogna che te la fai (..o che te la personalizzi se hai il culo di trovare un template free che al 90% ti và bene) a manina


    Originariamente inviato da Nakun
    inoltre essendo "popolari" hanno tutti un codice orribile ed inadatto a semplici modifiche...
    Veramente proprio perchè sono popolari hanno un codice che è reso il più possibile semplice e leggibile da tutti.. se sei agli inizi potrà anche sembrarti una follia, ad esempio, aprire e chiudere 20 volte i tag <?php?> per stampare semplici variabili lasciando al di fuori i tag html, ma imparerai che è un ottimo metodo (forse non il migliore).
    Proprio perchè sono molto usati, anche, troverai millemila aiuti, problemi già risolti, siti e forum di supporto.

    Originariamente inviato da Nakun
    per un bar/ristorante o per un negozietto in centro (target dei miei attuali clienti) fare quelle piccole modifiche mi costa molto di più che non creare un cms nuovo...

    comunque grazie dell'imbocca al lupo ^^
    Guarda, secondo me non hai capito bene come funziona o come implementare un cms.

    Prova drupal e al 90% le uniche righe di codice che dovrai scrivere saranno appunto solo per il template, poi te la cavi installando qualche modulo e configurarlo, ma senza mettere mano al codice.

    Poi, vai piano a dire che molte funzioni non ti servono: magari oggi il cliente col piccolo bar ti chiede un sito statico, domani, ti chiederà di poter pubblicare in autonomia delle news per le feste ed eventi vari che fà.

    Poi ti chiederà un'interfaccia tipo WORD, perchè lui mica è un programmatore e (giustamente) non sà niente di html e css.

    Poi vorra anche inserire delle immagini, e perchè no, dare la possibilità ai suoi utenti di poter 'confermare' la loro presenza alla festa della birra estiva.

    E magari che gli utenti possano commentare.

    E poi magari....la lista non finisce mai


    P.s: non voglio cercare di smontarti, sia chiaro, solo in buona fede ti espongo il mio punto di vista dato dalle esperienze passate
    You HAVE to assume your visitor is a maniac serial killer, out to destroy your application. And you have to prevent it.
    I can accept failure, everyone fails at something - But I can't accept not trying.

  10. #10
    sulla lista che hai fatto ci ho già pensato xD (la pagina news, immagini ed annunci con possibilità di commento) li avevo già pensati li ho buttati giù su carta dato che sono moduli aggiuntivi (ora penso al nucleo centrale) li ho pensati soltanto ma per non perdere l'idea me la sono scritta xD comunque quello è il meno... la logica della programmazione C mi viene in aiuto... a parte il fatto che il mio database sarà un file di testo (anziché il database SQL) per il resto ho già pensato ad una buona idea con codice (abbastanza) pulito... poi si sà... in programmazione nessun codice è meglio di un altro ^^ c'è sempre qualcosa che si può migliorare xD

    per quanto riguarda gli altri CMS io ho provato principalmente WordPress (anche se è un blog, si presta bene comunque per crearci un portalino), PHP-Nuke (versione base ed Evolution) e Joomla... WordPress e Joomla li ho trovati scritti piuttosto male... il PHP-Nuke è quello che, sebbene dal punto di vista della sicurezza è da da tagliarsi le vene, ha il codice più "umanamente leggibile" xD ed è quello con cui mi sono trovato meglio... tuttavia non si adatta bene alle mie esigenze... l'ho trovato buono per alcuni siti per privati che volevano un portalino per le loro cazzate... ma per un bar è piuttosto scomodo U_U

    l'ideale, per una piccola attività, sarebbe WordPress (nemmeno Joomla si presta bene) però ho parecchia difficoltà a capirne bene il codice e mi perdo molto tempo...

    preferisco perdere un sacco di tempo ora e poi quando mi serve, modificarlo in brevissimo tempo (e magari aggiungere una commissione per il servizio celere) piuttosto che perdere (comunque tanto) tempo per fare un template nuovo per un sito che 1) non conosco e 2) non ho nemmeno molta voglia di conoscerlo... alla fine è pur sempre un lavoro fatto da altri e scambiarlo per un mio lavoro mi secca xD

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.