MVC-Controllo Inserimento Dati

lorenza

Nuovo Utente
13 Lug 2009
4
0
0
Ciao a tutti!
Mi sono appena avvicinata sia a php sia alla programmazione in MVC.
Per questo motivo la mia domanda sembrerà banale ma io non riesco a venirne a capo.
Ho un pagina di inserimento dati che è legata al controller con la seguente funzione:
public function nuovo()
{
$this->registry->template->clienti_heading = 'Sezione Clienti: ';
$this->registry->template->clienti_content = 'Nuovo';
$cliente = new Cliente();
if (isset($_REQUEST['cognome']))
{

$this->registry->template->cognome=$cliente->insertCliente(($_POST['cognome']),($_POST['nome']),($_POST['dob_nascita']),($_POST['dob_regione']));
}

$this->registry->template->show('clienti_nuovo');
}
ed è legato al modella alla classe:
public function insertCliente($sCognome,$sNome, $dDob, $sCitta, $sRegione)
{
$db = db::getInstance();
$res1 = db::getInstance()->query("SELECT cognome FROM cliente WHERE cognome='".$sCognome."'");
$NumRow=db::getInstance()->affected_rows;
if ($NumRow==0 )
$res = db::getInstance()->query("INSERT INTO cliente(cognome,nome,dob, dob_citta, regione)VALUES ('".$sCognome."','".$sNome."',".$dDob.",'".$sCitta."','".$sRegione."')");
return $NumRow;
}

La mia domanda è questa.
Io vorrei che se le righe fossero superiori a zero non eseguisse la query di inserimento(e fin qui è ok) ma facesse comparire un confirm in javascript dove informa l'utente della presenza di un record simile e chiedesse se vuole inserire lo stesso il record.
Ho gia creato il javascript che informa l'utente ma non riesco a far richiamare nuovamente la funzione di inserimente se la risposta fosse positiva.

Spero di essermi spiegata al meglio
Grazie tutti
 

lotus

Utente Attivo
5 Mag 2009
543
8
0
ciao.. se usi javascript che ti visualizza un alert e quindi una scelta devi nuovamente fare una request. in altre parole, a meno di usare ajax l'opzione che tu vuoi realizzare prevede un'interazione differente.
visualizzato l'alert js devi sottomettere nuovamente il form passando un parametro aggiuntivo, preso da un campo hidden che indicherà l'intensione dell'utente a sovrascrivere il record.
ovviamente è solo un esempio..

se hai bisogno di supporto sn qui.
ciro
 

lorenza

Nuovo Utente
13 Lug 2009
4
0
0
Ciao!
grazie per la risposta!
infatti la mia idea era di valorizzare una variabile e aggiungerla nell'if dell'inserimento
if($numrows==0 or $scrivi==1)
eseguo l'insert

però il mio problema è che non so con quale istruzione rilanciare il il "submit" per l'inserimento.

Grazie mille!!
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao, non so te ti serva, io per tornare al form dovo vari controlli utilizzo questa


PHP:
//......
}else{
echo "<meta http-equiv='Refresh' content='3; URL=pag_form.php'>";
}
//...................

dove pag_form è il nome della pagina del form (che può essere anche la stessa) e contetnt='3... i secondi prima di essere reindirizzato (può essere 0).
puoi uso i cookie per non costringere l'utente a riscrivere tutti i campi
 

lorenza

Nuovo Utente
13 Lug 2009
4
0
0
Ciao!
Grazie, si mi puo servire quell'istruzione se l'utente preme annulla allora lo indirizzo alla pagina di edit del record.
Quello che non mi è chiaro è come richiamare la funzione di inserimento dopo aver premuto il pulsante inserisci.. e non riesco a venirne a capo..
La soluzione di usare una variabile o un campo hidden è ottima ma dopo averlo valorizzato come richiamo in automatico la funzione di inserimento?

Grazie a tutti per l'aiuto!!
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
Ciao (se non ho capito male) io farei così (ti scrivo pseudo codice)

Form_1 inserimento dati
Invio con submit


If subimit_inserimento
Ricerca se i dati esistono con una query=”select….where campi=inseriti”
If esistono == NO
Fai l’insert e torni al form_1 vuoto
Else == SI
Salvi i dati inseriti in sessione o coockies
Altro form_2 con solo pulsante di conferma o esci
testo di avviso esistenza
If conferma==SI inserisci i dati provenienti dalla sessione o dai cookies
Torni al form_1 iniziale
Else==NO
Torni al form_1 iniziale avendo utilizzato la sessione o i cookies puoi riempire i campi con i dati inseriti in modo da correggerli solamente e non riscriverli
Fine if /else conferma
Fine if/else esistono
Fine if submit_inserimento

Tutto può essere fatto in una stessa pagina, utilizzando i css puoi disporla come vuoi, visualizzando il form_2 solo in caso dati esistenti (es style= hidden o visible)
 
Discussioni simili
Autore Titolo Forum Risposte Data
C Pubblicare progetto MVC in remoto PHP 6
felino ASP.net MVC: Exception e chiamata AJAX ASP.NET 1
T script jquery non funziona più dopo il passaggio a MVC jQuery 5
L CMS e pattern MVC CMS (Content Management System) 0
A [ASP.Net] Gestire il profilo ADMIN in un progetto ASP NET e pattern MVC ASP.NET 0
3_g [PHP] mvc, pdo e classi... PHP 7
N [PHP] Single Page Application MVC PHP 8
M [Java] Session Attribute Spring MVC Java 1
S Asp.net MVC Hosting - SQL Server Programmazione 0
J Java web MVC senRedirect non funziona Java 1
G Io ho finito la mia prima applicazione web con MVC ed ho bisogno di metterla in linea ma non so come ASP.NET 2
WorldWideWeb Refresh div in MVC .NET Framework 1
J Forum php usando l'architettura MVC PHP 0
M [Offro lavoro] Programmatore web Zend MVC Offerte e Richieste di Lavoro e/o Collaborazione 0
M pulsante per aprire una maschera che contiene controllo schede MS Access 0
G [PHP] Creare script di prenotazione con controllo disponibilità. PHP 7
Z Controllo giorni MYSQL PHP 0
M Problema con controllo form in real time jQuery 6
MarcoGrazia jquery validate() controllo checkbox jQuery 2
M Controllo del codice fiscale/partita iva PHP 11
S Software windows10 per controllo contenuti web Windows e Software 6
S Controllo appuntamenti disponibili sul db PHP 5
L input (controllo se è stato modificato o no). PHP 1
W Controllo competitors serp SEO e Posizionamento 2
bubino8 [Javascript] popup di controllo elimina dopo window.print(); Javascript 0
M [MS Access] controllo valido se MS Access 8
MarkRed Come indicare, in una maschera, il primo controllo d'input, tipo "SetFocus" jQuery 9
C [PHP] Controllo <select> comportamento anomalo PHP 2
elpirata [Javascript] Controllo campi required non effettuato Javascript 2
A [PHP] Controllo nome utente form di registrazione PHP 4
L [PHP] controllo dimensione immagine per il resize PHP 2
M [ASP] Upload file da form controllo Classic ASP 5
P [PHP] Controllo al checkbox privacy PHP 6
S [MySQL] Controllo dati di una tabella in tempo reale MySQL 0
T [php] controllo su estensione file PHP 7
M [PHP] Script per controllo disponibilitá negozio in citta PHP 4
I Recupero accesso pannello di controllo dominio Leggi, Normative e Fisco 2
F Controllo dati sui campi di input tramite php PHP 1
R [MS Access] CONDIZIONE CHE CAMBIA PROPRIETA' DI UNA CONTROLLO MS Access 7
M [PHP] Dubbio controllo IF PHP 15
M [PHP] Controllo campo cap con trattino oltre ai numeri PHP 3
Fede72 Controllo registrazioni PHP Mysql PHP 5
L jquery e json controllo valori da determinate chiavi - keys jQuery 0
T [Javascript] un controllo con checkbox che non... controlla... Javascript 3
bubino8 [PHP] Controllo Log e Modifiche Utenti PHP 5
P [PHP] Realizzare un controllo accessi cantiere, problema lettore Qrcode... PHP 0
M [PHP] Controllo inserimento in tempo reale PHP 0
M [PHP] Help: controllo valori inseriti in un campo PHP 1
M [PHP] Impedire di digitare determinati caratteri nell’input (controllo in tempo reale) PHP 4
giancadeejay [PHP] Controllo inserimento tot caratteri PHP 5

Discussioni simili