Newsgroup: it.comp.www.php
Titolo: SuperNewbie e l'HTML dentro a una stringa

Salve sono SuperNewbie il nuovo supereroe del mondo PHP.
Il mio superpotere e' quello di porre domande ovvie, ma talmente ovvie 
che spesso le sa' anche il modem e mi risponde lui stesso perche' fa 
meno fatica che a spedirle ai NG :-)
Fatte le presentazioni vengo al quesito.
Devo mandare al browser una pagina piena zeppa di dati (letti da MySQL) 
ma se la SELECT fallisce gli devo mandare solo un messaggio di errore.
La mia idea era di fare cosi':
<?php
SELECT a MYSQL
if errore {"C'e' stato un errore"}
else	{<HTML><BODY>..pagina piena zeppa di dati..</HTML>}
?>
- Purtroppo non posso mettere HTML dentro il <?Php ..?>.
- Potrei fare una ECHO ma nella pagina HTML ci possono essere dei 
caratteri " o ' che chiuderebbero quelli dell'ECHO("....
- Potrei mettere l'HTML in una stringa e fare l'echo di quella, ma il 
problema dei " e ' rimane nell'assegnazione alla stringa.
Il mio sesto senso di supereroe mi dice che esiste una soluzione 
banalissima a questo problema ma in quanto SuperNewbie io non la trovo.
Qualcuno mi aiuta?

else	{<HTML><BODY>..pagina piena zeppa di dati..</HTML>}
Dato che se c'e' errore non mandi i dati, puoi raddoppiare la chiusura
di pagina - o tutta la pagina:
	if ($errore)
	{
		print <<< ERRORE
<html>
	<head>
		<title>Errore MySQL</title>
	</head>
<body>
<hr>
	C'e' stato un errore.
<hr>
</body>
</html>
ERRORE;
		exit();
	}
	// Prosegue la pagina
Ti conviene magari inventarti una funzione che ritorni gli errori:
	function gulp($tipoerrore, $errorespecifico='N/A',
$altridettagli='N/A')
	{
		print <<< ERRORE
...
ERRORE;
		exit();
	}
cosi' puoi disseminare il codice di
	gulp("DB", "Non si connette al database");
	...
	gulp("PHP");
	...
	gulp("User", "Hai immesso un CAP non numerico", "Il CAP $cap non
e' valido");
Leonardo
-- 
Avere studiato senza mettere in pratica e' inutile;
mettere in pratica senza avere studiato e' pericoloso.
                                                - Conphpucio

se hai problemi di parsing puoi includere i file cosi eviti di doverci fare
il parsing,
 SELECT a MYSQL
 if errore {include ("errore.php")}
 else
ecc ecc
dentro errore.php puoi fare una semplice pagina html (oppure fai includi
errore.html
ovviamente errore.php devi inserire il percorso del tuo file, secondo me
meglio se con path o url assoluto
(
http://www.sito.com/errore.php
 oppure /home/www/ecc ecc/errore.php
-- 
Se qualcosa va male non preoccuparti. Domani andrà peggio

 Salve sono SuperNewbie il nuovo supereroe del mondo PHP.
Sei un newbie? Leggi questo 
http://url.repository.biz/go/3C
-- 
I am what I am, I do what I can
L'uomo, conscio di sbagliare, persevera.

 
il codice sotto funziona ma se fossi in te mi studierei un numero arbitrario
di manuali prima di iniziare/continuare a scrivere codice PHP
<?php
$rl = mysql_connect('$host', '$user', '$pass');
mysql_select_db('$database');
$dati = mysql_query("SELECT * FROM table", $rl);
if(is_resource($dati))
        while($row = mysql_fetch_array($dati))
                while(list($key, $value) = each($row))
                        echo "$key = $value<br />";
else echo "Si è verificato un errore durante...";
?>
--
www.iuz-lab.info

Ciao Leonardo, e' un piacere ritrovarti anche qui (abbiamo gia' 
conversato qualche anno fa' su IDM a proposito del Grande ROL).
 >         print <<< ERRORE
 > ....
 > ERRORE;
 >         exit();
In effetti era proprio la sintassi "here document" quella che mi serviva
Tra l'altro leggo che si puo' usare anche per assegnare variabili.
--------- Dal manuale:
$text = <<<END
This uses the "here document" syntax to output
multiple lines with $variable interpolation.
....
END;
print $text; // Will output the string. Very handy for storing HTML.
-------------
Bene. Le nebbie della mia ignoranza sono state sconfitte anche questa volta.
Missione compiuta SuperNewbie.
;-)
Ciao & Grazie
Marco



Maledizione mi si e' imbizzarito il Mozillone!!!!!!
Chiedo scusa ai replayers.
(Che figura da SuperNewbie)