Joomla.it Forum
Non solo Joomla... => Sviluppo => : simoegio 21 Aug 2007, 19:20:50
-
ciao,
devo realizzare un componente che permetta la gestione di utenti ovvero dove poter memorizzare/ricercare/registrare quest'ultimi per paricolari servizi.
ho realizzato una pagina di registrazione, con ad esempio il form per l'inserimento del nome e del cognome.
Per eseguire il controllo se tutti i dati sono stati inseriti e ho quindi realizzato un controllo nella pagina componente.php che se il dato è vuoto venga prevista una scritta che ricorda che quel dato obbligatorio.
tutto funziona se non fosse che questa scritta viene stampata tramite un'echo e quindi in fondo a tutte le form e il testo scritto in precedenza (nel file componente.html.php).
come posso fare per scrivere il messaggio di errore in un particolare div magari a inizio pagina?
penso che sia un problema di comunicazione tra il file componente.php e componente.html.php giusto?
grazie
-
Hai letto il devbook?
-
si.. cioè l'ho letto qualche mese fa, l'ho ripreso in mano prima andando nella parte dei componenti e me lo sono riletto e non ho trovato ciò che mi interessava.. però mi pare di capire che forse è il caso che guardi meglio ;D
-
Sì, è il caso. ;D
Ricorda che un componente può svolgere diverse funzioni che vengono discriminate con $task.
-
si per il task lo so..
ho risolto in un'altro modo però non so se è troppo corretto..
in pratica nel file componente.php al posto di chiamare il task subito di stampa della form ho messo prima il controllo, ovvero se vede che i form sono già stati inviati fa il controllo e nel caso stampa l'errore e solo dopo l'if richiamo il task di stampa del form
risultato è ciò che volevo, corretto è corretto?
grazie
-
Così a naso non mi sembra ben strutturato, ma se funziona...
-
pure a me mi puzza infatti..
in ogni caso ho fatto
$Controllo_Ins = strval( mosGetParam( $_REQUEST, 'Controllo_Inserimento', '' ) );
$Controllo_Ins = $database->getEscaped( trim( $Controllo_Ins ) );
if ($Controllo_Ins =="entrato_inserimento")
{
if (!$InsNome)
{
$sErrore .= 'Il campo Nome in SL è obbligatorio <br />';
}
if ($sErrore!=''){echo $sErrore;};
}
HTML_archivio::inserisci_form();
ovvero
- controllo se è stato spedito il form
- controllo se è vuoto il campo
- stampo eventualmente
- stampo il form totale
(la prima volta non troverà il campo x cui salterà l'if le altre volte mi stamperà prima l'errore dopo i form)
-
vabbè questione del messaggio di errore a parte..
sono andato avanti e ho iniziato a fare la query x controllare se l'utente era già presente.
ho usato una normale funzione per collegarmi al db (che non è lo stesso di joomla) e cioè
$connessione = mysql_connect($host, $utenteSQL, $pswUtenteSQL);
mysql_select_db($nomeDB, $connessione);
dove però nella seconda riga si blocca e nel sito ho il seguente errore
Warning: Invalid argument supplied for foreach() in d:\programmi\easyphp1-8\www\wgeb\includes\frontend.php on line 94
già qua la vedo un pò più complicata la soluzione... devo mettermi a cercare chi richiama quella funzione nel file fronted o è normale?
grazie
-
alla fine ho scoperto la causa..
dato che il nome utente SQL della mia query era uguale a quello di joomla la cosa non gli andava molto a genio.. non so bene perchè però ho appurato che è così.. spero che serva a qualcuno