Trasformare in php

Ciao Gianni,

posto qui perchè in fondo l'argomento è php anche se il codice è js.

Vorrei trasformare questo in php:

<script language="JavaScript" type="text/javascript">
var calendario = new Date();
var mese = calendario.getMonth();
var giorno = calendario.getDate();
var nodate = 1;
document.write("<b><font color=#ccccff  face=Verdana size=2 >");   
   
// Gennaio   
if ((mese == 0) && (giorno == 1)) {document.write('<IMG SRC="anno032.gif" BORDER=0 WIDTH=239 HEIGHT=92> '); var nodate = 0;}
if ((mese == 0) && (giorno == 2)) {document.write('Gli uomini che non sanno credono alla fortuna. '); var nodate = 0;}
...

document.write('</font>'); 
</script>
inviato 10 anni fa
php
php
6
X 0 X

da quanto ho capito vorresti che per ogni giorno del mese mostri qualcosa di diverso vero?

potresti fare in questo modo :

<?php 

echo  "<b><font color=\"#CCCCFF\"  face=\"Verdana\" size=\"2\" >";

$date = date("dm");

switch($date) :

  case 11:

      echo "primo gennaio";

  break;

  case 12;

      echo "una rondine non fa primavera";

  break;

  case 13:

      echo "tutto é bene quel che finisce bene";

  break;

  case 14:

    echo "Ciao utente sono le ore :"  . date("H:i:s");

  break;

  default:

    echo "oggi non é disponibile nessuna citazione!!!";

   break;

  

endswitch;

   // e cosi via dicendo, tenendo presente che il primo numero é il mese il secondo é il giorno

ech "</font>";

?>

per il codice html : attento secondo le specifiche del W3C gli attributi devono essere inseriti in virgolette doppie e il tag font é deprecato oramai si usano i css per la formattazione del testo :)

ciao

risposto 10 anni fa
Andrea Turso
Andrea Turso
86
modificato 10 anni fa
X 0 X

Sto pensando...di queste frasi ne ho 365 e se modifico tutto è un lavoro lungo, quasi quasi lascio così tanto funziona.

Io volevo farlo cosi se entrano nel menù Visualizza/HTML non vedevano le frasi

risposto 10 anni fa
php
php
6
X 0 X

cosi le frasi non le vedono ... php é invisibile nel codice html .

prova a fare un array con le frasi e a prenderle random

ciao

risposto 10 anni fa
Andrea Turso
Andrea Turso
86
X 0 X

cosi le frasi non le vedono ... php é invisibile nel codice html .

prova a fare un array con le frasi e a prenderle random

ciao

...è sempre un lungo lavoro, per fare quel codice ci ho impiegato settimane, quasi quasi metterei un codice che impedisce di accedere a tutta pag. tramite Visualizza/HTML. Si può fare in php?

risposto 10 anni fa
php
php
6
X 0 X

php é un linguaggio di script server side, non puo eseguire operazioni client side come javascript ( bypassabili comunque ) ;

fai una cosa :

frasi.php

<?php
// creo un array contenente tutte le frasi
$frasi = array(
"benvenuto",
"oggi piove",
// ... insomma 365 frasi che saranno impossibili da visualizzare
);
?>

poi incolli questo dove vuoi visualizzare le frasi, puoi metterlo anche nei tag html <b></b>

<?php
// includo il file con le frasi
include("frasi.php");

// conto le frasi
$count = count($frasi);

// creo un numero casuale da 0 a n ( numero frasi totali )
$feed= rand(0,$count);

// stampo solo la frase scelta
echo $frasi[$feed];
?>

in questo modo aggiungi le frasi che vuoi e le prende in modo casuale dal file con le frasi

pro:

semplice,veloce, modificabile

contro :

non cambia ogni giorno ma ogni volta che aggiorno la pagina

comunque potresti adattarlo in modo che cambi ogni giorno la frase in base al calendario, io ti ho solo indicato un metodo per fare quello che vuoi tu

spero di averti aiutato

ciao

risposto 10 anni fa
Andrea Turso
Andrea Turso
86
modificato 10 anni fa
X 0 X

E' un modo meno difficile...io pensavo anche:

avendo già scritte queste 365 fra immagini e gif non si potrebbe mettere una modifica in php ad ogni riga?

...

// Gennaio   

if ((mese == 0) && (giorno == 1)) {document.write('<IMG SRC="anno032.gif" BORDER=0 WIDTH=239 HEIGHT=92> '); var nodate = 0;}

if ((mese == 0) && (giorno == 2)) {document.write('Gli uomini che non sanno credono alla fortuna. '); var nodate = 0;}

...

risposto 10 anni fa
php
php
6
X 0 X

allora potresti usare il db dove usi solo id e testo tramite una pagina php selezioni la frase da modificare e/o cancellare usando l'id della frase......poi quando fai lo switch consigliato da trashofmasters metti una varibile a cui assegni l'id della frase che vuoi stampare e poi fai sql stampando il valore del campo che ha come id quello scelto esempio:

tabella citazioni

campi id e testo ( se si vuole anche titolo )

pagina citazioni.php

<?php 


echo  "<b><font color=\"#CCCCFF\"  face=\"Verdana\" size=\"2\" >";
$date = date("dm");

switch($date) :
  case 11:
      $id = 50;
  break;
  case 12;
      $id = 55;
  break;
  case 13:
      $id = 100;
  break;
  case 14:
    $id = 10;
  break;

  default:
    $id = 2;
   break;
  
endswitch;

$sql = "SELECT * FROM citazioni WHERE id = '".$id."';
$results = mysql_quey($sql) or die(mysq_error());
$row=mysql_fetch_array($results);
$testo = $row[1];
echo $testo;

?>

ho preso il codice riportato da trashofmasters modificandolo poi basta che ti fai una pagina che ti stampa tutte le frasi oppure se vuoi aggiungere il campo titolo ti stampo tutti i titoli e poi puoi scegliere se aggiugenere o modificare una frase......questo è un mia idea di come farlo

risposto 10 anni fa
SuperSavio
X 0 X

é inutile coinvolgere mysql per questa "stupida" operazione, un array era piú che suffieciente.

inutile andare a complicare ultiriolmente le cose, giá ha le idee confuse di suo.

basta usare lo switch e per ogni caso assegnare un valore a $index in modo da printare

$frasi[$index]

aspetto pareri di Gianni per valutare quale sia il migliore metodo e soprattutto se ne ha di migliori

ciao e buona notte

risposto 10 anni fa
Andrea Turso
Andrea Turso
86
X 0 X

scusa  :-[, pensavo che potesse essere un'idea...nn volevo complicare niente.....scusami ancora  O0

risposto 10 anni fa
SuperSavio
X 0 X

E' un modo meno difficile...io pensavo anche:

avendo già scritte queste 365 fra immagini e gif non si potrebbe mettere una modifica in php ad ogni riga?

...

// Gennaio   

if ((mese == 0) && (giorno == 1)) {document.write('<IMG SRC="anno032.gif" BORDER=0 WIDTH=239 HEIGHT=92> '); var nodate = 0;}

if ((mese == 0) && (giorno == 2)) {document.write('Gli uomini che non sanno credono alla fortuna. '); var nodate = 0;}

...

scusami ma non ti ho capito..potresti spiegarti meglio ?

@supersavio: non ti preoccupare era solo il mio parere

PS: RAGAZZI DOMANI NON HO PIU IL PORTATILE E NON POSSO RISPONDERE :'( non so quando saro dinuovo in linea,probabilmente appena avro soldi per comprare le nuove schede video  :buck: cioe fine mese  :'( spero di poter postare da casa di amici

ciauuu a presto

PS@ supersavio : sei quel supersavio di tutorialweb???

risposto 10 anni fa
Andrea Turso
Andrea Turso
86
modificato 10 anni fa
X 0 X

Non ricordo quale, però c'è una funzione del PHP che ti da direttamente il giorno dall'inizio dell'anno.

così non devi crearti uno switch lungo un chilometro, ma ti basta richiamare l'array delle frasi dentro un echo.

Tipo: echo $frasi[funzione_php()] iterando dall'array delle frasi.

Più facile di così ...

risposto 10 anni fa
Marco Grazia
X 0 X

echo date('z');

 :bye:

risposto 10 anni fa
Gianni Tomasicchio
X 0 X

echo date('z');

 :bye:

Se ho ben capito posso evitare di reiscrivere le 365 frasi, basta modificare i codici che ho già:

Non ho il DB, si sà... Gianni fammi l'esempio di modifica con i primi codici sotto, poi ai rimanenti :sleep: ci penserò io :lamo:

...

// Gennaio   

if ((mese == 0) && (giorno == 1)) {document.write('<IMG SRC="anno032.gif" BORDER=0 WIDTH=239 HEIGHT=92> '); var nodate = 0;}

if ((mese == 0) && (giorno == 2)) {document.write('Gli uomini che non sanno credono alla fortuna. '); var nodate = 0;}

...

risposto 10 anni fa
php
php
6
X 0 X

Metti in un array tutte le stringhe contenenti i messagi del giorno. Puoi fai una echo del messaggio legato al giorno corrente:

<?php
$frasi = array(
'<IMG SRC="anno032.gif" BORDER=0 WIDTH=239 HEIGHT=92> ',
'Gli uomini che non sanno credono alla fortuna. ',
...
);

echo $frasi[date('z')];
?>

 :bye:

risposto 10 anni fa
Gianni Tomasicchio
X 0 X

Può fare anche di meglio :)

Se ha un file di testo con le stringhe, una per rigo, può legggerlo con:

<?php
$frasi = file('miofile.txt');
echo $frasi[date('z')];
?>

basta! finito! non devi fare altro! stop! fermati!  :D

risposto 10 anni fa
Marco Grazia
modificato 10 anni fa
X 0 X

Può fare anche di meglio :)

Se ha un file di testo con le stringhe, una per rigo, può legggerlo con:

<?php
$frasi = file('miofile.txt');
echo $frasi[date('z')];
?>

basta! finito! non devi fare altro! stop! fermati!  :D

Ho modificato oramai ma c'è qualcosa che non quadra, guarda: www.photoman.altervista.org

Ho messo così:

<TD width="150"align="center" valign="top">   
   <br>
<font size="2" face="verdana"color="#ffffff"><i> Messaggio del <br> giorno:</i></font>

<p align="left">

<?php
$frasi = array("<b><font color=\"#ccccff\"  family=\"Verdana\" size=\"2\">
/*Gennaio*/   
'<IMG SRC="anno032.gif" BORDER=0 WIDTH=239 HEIGHT=92> ',
'Gli uomini che non sanno credono alla fortuna. ',
</font>'</b></p></td>
</table>);
echo $frasi[date('z')];
?>
risposto 10 anni fa
php
php
6
X 0 X

Hai fatto due errori tipici degli sviluppatori PHP  :D

1) deve esserci un baco perché escono tutti i messaggi dal giorno 1 gennaio a oggi :D va be è solo un bachetto.

2) è più grave, la parte di html non deve essere nel database (array/file/quello che è) ma solo la frase.

L'html, possibilmente corretto e senza elementi di presentazione oltretutto deprecati, dove essere solo nella pagina, il codice PHP deve scriverci dentro, tutto qui.

Insomma, ammesso che la frase tipo è strutturata così nel file/array/quello che vuoi tu, "anno032.gif|Gli uomini che non sanno credono alla fortuna.", dove | separa l'immagine dalla frase.

Il codice sarà questo:

<?php
list($img, $frase) = explode("|", $frasi[date('z')]);
?>
<table>
<tr>
<td>
<?php echo "<img src='percorso/$img' />"; ?>
</td>
<td>
<?php echo $frase; ?>
</td>
</tr>
</table>

quinidi per complicarti la vita: struttura il file in modo che ogni riga contenga solo il nome dell'immagine e la frase separata da un carattere (sempre quello per tutto il file, quindi scegline uno strano ;) ) e basta.

Quando carichi la frase nell'array ($frasi = file('file.txt')) poi devi separare con explode ogni pezzo della frase (immagine e frase) e quindi presentarla.

Togli cose tipo <font> e align='center' e impara ad usare i fogli di stile, è più facile poi fare modifiche al sito.

risposto 10 anni fa
Marco Grazia
X 0 X

Hai fatto due errori tipici degli sviluppatori PHP  :D

1) deve esserci un baco perché escono tutti i messaggi dal giorno 1 gennaio a oggi :D va be è solo un bachetto.

2) è più grave, la parte di html non deve essere nel database (array/file/quello che è) ma solo la frase.

L'html, possibilmente corretto e senza elementi di presentazione oltretutto deprecati, dove essere solo nella pagina, il codice PHP deve scriverci dentro, tutto qui.

Insomma, ammesso che la frase tipo è strutturata così nel file/array/quello che vuoi tu, "anno032.gif|Gli uomini che non sanno credono alla fortuna.", dove | separa l'immagine dalla frase.

Il codice sarà questo:

<?php
list($img, $frase) = explode("|", $frasi[date('z')]);
?>
<table>
<tr>
<td>
<?php echo "<img src='percorso/$img' />"; ?>
</td>
<td>
<?php echo $frase; ?>
</td>
</tr>
</table>

quinidi per complicarti la vita: struttura il file in modo che ogni riga contenga solo il nome dell'immagine e la frase separata da un carattere (sempre quello per tutto il file, quindi scegline uno strano ;) ) e basta.

Quando carichi la frase nell'array ($frasi = file('file.txt')) poi devi separare con explode ogni pezzo della frase (immagine e frase) e quindi presentarla.

Togli cose tipo <font> e align='center' e impara ad usare i fogli di stile, è più facile poi fare modifiche al sito.

Vedo cosa riesco :wallbash: a fare, ho seguito il consiglio di Gianni.

Gianni aiutami!!! :lamo: :lamo:

risposto 10 anni fa
php
php
6
X 0 X

Ce l'ho quasi fatta, ho creato una pag frasi.php e ho messo dentro le frasi, poi nella index ho messo

questo:

<TD width="150"align="center" valign="top">   
   <br>
<font size="2" face="verdana"color="#ffffff"><i> Messaggio del <br> giorno:</i></font>

<p align="left">
<b><font color=#ccccff  face=Verdana size=2>   
<?php
include("frasi.php");
echo $frasi[date('z')];
?>
</font></b></p></td>
</table>

C'è ancora una cosa che non riesco a sistemare: le frasi non cambiano in base al giorno anche se la cambio nel pc, prova www.photoman.altervista.org

risposto 10 anni fa
php
php
6
X 0 X

Ce l'ho quasi praticamente fatta, ogni giorno cambia frase...non riesco a risolvere il fattore "anno bisestile", dimmi che modifica devo fare per far inserire automaticamente una frase specifica quando febbraio ha 29 giorni.

Questo è il codice

<!-- Mette a video le frasi -->
<?php
include("frasi.php");
$count = count($frasi);
echo $frasi[date('z')];
?>
risposto 10 anni fa
php
php
6
X 0 X

non devi fare nessuna modifica, magari aggiungi una frase per il 31 dicembre dell'anno bisestile.

Inoltre la riga:

$count = count($frasi);

non serve a niente.

 :bye:

risposto 10 anni fa
Gianni Tomasicchio
X 0 X

non devi fare nessuna modifica, magari aggiungi una frase per il 31 dicembre dell'anno bisestile.

Inoltre la riga:

$count = count($frasi);

non serve a niente.

 :bye:

ho messo una frase in più a Febbraio (che è l'anno bisestile ogni 4) perciò sono 29, ma oggi 13 settembre mi mette a video la frase di ieri... se invece tolgo la 29esima va bene :lamo:

risposto 10 anni fa
php
php
6
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda