Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it L'avatar di ttcc
    Registrato dal
    Dec 2008
    Messaggi
    486

    una conferma javascript?

    ciao a tutti,

    ho dei POST provenienti da un form. nel file di elaborazione ho la necessità di verificare se un dato già esiste nella tabella del DB, e in virtù di questa verifica registrare o meno.

    -dato non esiste = registrare; // e questo non è un problema;
    -dato esiste = registrare o non registrare (quindi tornare indietro)? //qui sta il dubbio!

    per il secondo caso ho pensato a un confirm di javascript, ma non so come scrivere lo script con l'opzione.
    mi potete dare qualche indicazione?

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,448
    Non puoi perché una volta che stai usando Javascript vuol dire che il server ha finito il lavoro su quella pagina e php non è più utilizzabile.

  3. #3
    Utente di HTML.it L'avatar di ttcc
    Registrato dal
    Dec 2008
    Messaggi
    486
    mmhh....
    può essere una soluzione, nell'eventualità di registrare del DB e dopo una pagina di verifica php, passare tutto a un'altra pagina e registrare?

  4. #4
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,448
    Si, così può funzionare.

  5. #5
    Utente di HTML.it L'avatar di ttcc
    Registrato dal
    Dec 2008
    Messaggi
    486
    ci sono altre vie?

  6. #6
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    142
    potresti creare una pagina in php che altro non fa che testare se il dato è già nel db o no .. e poi utilizzarla come se fosse un servizio, nel senso che la richiami con ajax al momento in cui l'utente scrive i dati .. ma non so se è fattibile.. interessa pure a me, in qualche modo altri siti verificano in tempo reale durante la digitazione se un username ad esempio è già presente o no giusto?

  7. #7
    Utente di HTML.it L'avatar di ttcc
    Registrato dal
    Dec 2008
    Messaggi
    486
    il form non è di accesso (password e user).
    è un form dove si imputano diversi dati che poi dovrebbero andare scritti in una tabella.
    la verifica è un passaggio di solo controllo (in tempo reale) per poi decidere se registrare i dati del form o meno.
    ajax non lo conosco a fondo, ma penso che non vada bene.... anzi pensandoci mentre scrivo potrebbe essere ... acc... dovrei riscrivere tutto il codice....tre pagine di php... solo a pensarci divento

  8. #8
    Ciao,
    dunque secondo me la cosa più "figa", veloce e pulita ed elegante è proprio usare una tecnica ajax.
    Però.....se non conosci ajax e non hai voglia di studiarlo ora (ma prima o poi ti consoglio di farlo)
    la puoi risolvere in maniera più "casalinga" usando php + il tuo beneamato confirm javascript, anche in una stessa pagina.

    esempio:
    te lo scrivo in pesudo codice tanto per dirti il procedimento logico
    (sembra complesso ma non lo è)

    1) FORM HTML
    -----------------------
    hai la tua bella pagina con
    - un form che punta alla pagina stessa (action="#")

    il form a sua volta contiene:
    a) un input con il dato che vuoi inserite nel db
    codice:
    <input type="text" name="dato_da_inserire">
    b) una input nascosto (per $valoreEsiste vedi poi il punto 3)
    codice:
    <input type="hidden" name ="esiste" value = "<?PHP echo $valoreEsiste ?>>"
    c) un bottone - che non spedisce il form, ma chiama un funzione javascript
    codice:
    <BUTTON type="button" onClick="testInsert();">
    2)FUNZIONE JAVASCRIPT
    ------------------------
    ora cosa succede ?
    nel momento del click la funzione testInsert( ) controlla il valore dell'input "esiste"
    codice:
    IF == 'SI'
    chiama un confirm javascript che dice "il dato esiste vuoi sovrascriverlo?"
       IF 'OK' THEN 
            "esiste".value='NO' (fai finta che non esista)
            form.submit(); (e spedisci il form)
       ELSE return; (non succede niente)
    ELSE
    form.submit(); (se "esiste" vale NO o NI viene spedito il form)
    3) CONTROLLO E SETTAGGIO PHP
    -----------------------
    a)inizializzi :
    codice:
    $valoreEsiste="NI";
    b)Quando la pagina carica controlli sempre $_POST['esiste'];
    codice:
    IF  ($_POST['esiste'] == 'NI')  THEN controlli nel DB se $_POST['dato_da_inserire'] esiste
       IF esiste THEN $valoreEsiste="SI"'; 
       ELSE $valoreEsiste="NO"';
    ELSE IF ($_POST['esiste'] == 'NO') scrivi (o sovrascrivi) nel database
    nb: Il caso ($_POST['esiste'] == 'SI') perché quando viene inviato la funzione javascript lo filtra o settandolo a NO, o non inviando il form.

    ----
    Naturalmente questo descritto è l'ordine logico, ma come codice scriverai
    prima la funzione javascript nell' <haeder>
    poi il controllo PHP
    poi il form che utilizza $valoreEsiste settatto dal controllo php










    al momento del caricamento la pagina legge $_POST['esiste']




    'NI'

  9. #9
    Utente di HTML.it L'avatar di ttcc
    Registrato dal
    Dec 2008
    Messaggi
    486
    mmmh... si, posso farlo, e non sarebbe male.
    ok proverò a riscrivere i codici e farò gli opportuni test. nel frattempo lascio le pagine essitenti come sono, poi sostituirò tutto.
    grazie

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.