Leggi gli ultimi interventi sul forum
 
You are here: Sky ForumWebSviluppo webPhpAiuto script in php
: [1]
Aiuto script in php
Aiuto script in php
« : September 21, 2009, 05:55:59 pm »

Salve a tutti,
oggi ricorro per l'ennesima volta al vostro supporto chiedendovi un piccolo aiuto nella realizzazione di uno script.

Per prima cosa guardate questa pagina http://scopri.prolocobisceglie.it/contest.php

Come funziona:
- Lo script prende da mysql la foto che ha l'attuale timestamp compresa tra data_inizio e data_fine e printa sotto la foto il form di partecipazione (come è possibile notare).

- Cliccando sulle foto precedenti è possibile vedere la foto con sotto la risposta.

- Le foto future non vengono visualizzate e al proprio posto viene inserito un punto interrogativo (?)

E' più difficile a dirsi che a farsi...

Io ho risolto il problema impostando lo script in questo modo ma mi sembra un tantino sporco...
Code: (php) [Select]
//L'id è quello della domanda
if(eregi('^[0-9]$', $ID)) {
$query = mysql_query("SELECT * FROM questions_ss WHERE ID='$ID'"); }
else { $query = mysql_query("SELECT * FROM questions_ss WHERE data_inizio < '$time' AND '$time' < data_fine"); }

$array = mysql_fetch_array($query);

if ($array['data_inizio'] < $time AND $time < $array['data_fine']) {
[...] // Printa la foto con il form

Code: (php) [Select]
elseif(eregi('^[0-9]$', $ID) AND $array['data_fine'] < $time AND $ID <= $max_id[0] AND $max_id_righe != "0") {
//Qui printa la foto con la risposta

Code: (php) [Select]
} else {
//Printa il messaggio di errore nel caso in cui è stato inserito un ID sbagliato o non c'è nessuna domanda in programma per oggi.

Vi ringrazio!
Re: Aiuto script in php
« #1 : September 21, 2009, 06:11:21 pm »

Credo di aver capito cosa tu voglia fare e posso consigliarti di iniziare a scrivere lo script con uno switch al posto dell'if-elseif-else. Ho visto che usi la funzione eregi e so che ad oggi è deprecata http://php.net/eregi

Il codice che hai scritto produce errori?  :?:

Re: Aiuto script in php
« #2 : September 21, 2009, 06:13:52 pm »

No, funziona bene, solo che è un po pasticciato...
Con cosa rimpiazzo la funzione eregi?
Re: Aiuto script in php
« #3 : September 21, 2009, 06:27:54 pm »

No, funziona bene, solo che è un po pasticciato...
Con cosa rimpiazzo la funzione eregi?

http://www.php.net/manual/en/function.preg-match.php

http://www.php.net/manual/en/book.pcre.php

Bisognerebbe utilizzare le funzioni compatibili con Perl. Comunque se ti viene troppo complicato per ora lascia eregi. Lo script che hai fatto è basilare ma se funziona correttamente penso che potresti anche lasciarlo così come si trova. Non deve fare chissà cosa. Altrimenti creavi una classe domanda e una classe foto dove andavi a prendere i dati dal database, ecc. Comunque anche il procedurale va benissimo visto il risultato ottenuto.
Re: Aiuto script in php
« #4 : September 21, 2009, 06:31:51 pm »

Ok credo che lo lascerò così dato che comunque funziona...
Re: Aiuto script in php
« #5 : September 22, 2009, 01:48:01 pm »

Puoi anche utilizzare strpos
Re: Aiuto script in php
« #6 : November 27, 2009, 06:34:16 pm »

Ho scritto queste funzioni che sostituiscono le funzioni ereg  mantenendo la stessa sintassi:

Code: [Select]
<?php
/**
 * define php standard functions
 * 
 * @author Alessandro Vernassa
 * @license http://opensource.org/licenses/gpl-license.php GNU General Public License
 */
if (! function_exists 'ereg' ))
{
function ereg($find$str, &$regs)
{
return fn_erg $find$str$regs );
}
}

if (! 
function_exists 'eregi' ))
{
function eregi($find$str, &$regs)
{
return fn_ergi $find$str$regs );
}
}

if (! 
function_exists 'ereg_replace' ))
{
function ereg_replace($pattern$replacement$string)
{
return fn_erg_replace $pattern$replacement$string );
}
}

if (! 
function_exists 'eregi_replace' ))
{
function eregi_replace($pattern$replacement$string)
{
return fn_ergi_replace $pattern$replacement$string );
}
}

function 
fn_erg($find$str$regs=null)
{
return preg_match "/" str_replace '/''\\/'$find ) . "/s"$str$regs );
}
function 
fn_ergi($find$str$regs=null)
{
return (preg_match "/" str_replace '/''\\/'$find ) . "/si"$str$regs ));
}
function 
fn_erg_replace($pattern$replacement$string)
{
return preg_replace "/" str_replace '/''\\/'$pattern ) . "/s"$replacement$string );
}
function 
fn_ergi_replace($pattern$replacement$string)
{
return preg_replace "/" str_replace '/''\\/'$pattern ) . "/si"$replacement$string );
}

?>



le uso da un po' e sono abbastanza collaudate.
Ho messo volutamente il nome "erg" invece che "ereg" in modo che si possa fare un trova/sostituisci di "ereg" su tutti i files di eventuali programmi già scritti senza che vengano sovrascritte le nuove funzioni.


Alex
« : November 27, 2009, 06:38:12 pm speleoalex »
Re: Aiuto script in php
« #7 : November 27, 2009, 08:45:32 pm »

Ho scritto queste funzioni che sostituiscono le funzioni ereg  mantenendo la stessa sintassi:

Code: [Select]
<?php
/**
 * define php standard functions
 * 
 * @author Alessandro Vernassa
 * @license http://opensource.org/licenses/gpl-license.php GNU General Public License
 */
if (! function_exists 'ereg' ))
{
function ereg($find$str, &$regs)
{
return fn_erg $find$str$regs );
}
}

if (! 
function_exists 'eregi' ))
{
function eregi($find$str, &$regs)
{
return fn_ergi $find$str$regs );
}
}

if (! 
function_exists 'ereg_replace' ))
{
function ereg_replace($pattern$replacement$string)
{
return fn_erg_replace $pattern$replacement$string );
}
}

if (! 
function_exists 'eregi_replace' ))
{
function eregi_replace($pattern$replacement$string)
{
return fn_ergi_replace $pattern$replacement$string );
}
}

function 
fn_erg($find$str$regs=null)
{
return preg_match "/" str_replace '/''\\/'$find ) . "/s"$str$regs );
}
function 
fn_ergi($find$str$regs=null)
{
return (preg_match "/" str_replace '/''\\/'$find ) . "/si"$str$regs ));
}
function 
fn_erg_replace($pattern$replacement$string)
{
return preg_replace "/" str_replace '/''\\/'$pattern ) . "/s"$replacement$string );
}
function 
fn_ergi_replace($pattern$replacement$string)
{
return preg_replace "/" str_replace '/''\\/'$pattern ) . "/si"$replacement$string );
}

?>



le uso da un po' e sono abbastanza collaudate.
Ho messo volutamente il nome "erg" invece che "ereg" in modo che si possa fare un trova/sostituisci di "ereg" su tutti i files di eventuali programmi già scritti senza che vengano sovrascritte le nuove funzioni.


Alex


Davvero utili!  :geek:
: [1]
You are here: Sky ForumWebSviluppo webPhpAiuto script in php
: