Visualizzazione risultati 1 fino 8 di 8

Discussione: Errore query

  1. #1
    portier non è connesso Utente
    Data registrazione
    07-06-2014
    Messaggi
    127

    Question Errore query

    Salve a tutti. Devo inserire dati nel mio db, ma ricevo questo avviso di errore:
    Parse error: syntax error, unexpected $end in /membri/xxx/input.php on line 23

    Non riesco a trovare l'errore (la linea 23 è l'ultima, quella di chiusura del codice php).
    Sotto il codice usato. Qualcuno sa dirmi perchè ? Grazie
    Codice PHP:
    <?php

    // Qui sotto inserite il nome del DB

    $database = "my_XXX";

    mysql_select_db($database) or die("Errore durante la selezione del database");


    $query = "INSERT INTO SalaStudio (cognome, nome, tipoDoc, nDoc, rilasciato, da, luogo) VALUES ('$cognome', '$nome', '$tipoDoc','$nDoc','$rilasciato','$da','$luogo')";

    // lancio la query
    if (mysql_query ($query))

    // controllo l'esito
    if (!$result) {
    die(
    "Dati non inseriti :-( Errore nella query $query: " . mysql_error());

    // chiudo la connessione a MySQL
    mysql_close();

    echo
    'Query eseguita correttamente';
    ?>
    Ultima modifica di alemoppo : 16-07-2014 alle ore 12.12.16 Motivo: +tag [php]

  2. #2
    portier non è connesso Utente
    Data registrazione
    07-06-2014
    Messaggi
    127

    Predefinito

    Ho risolto l'errore di inserimento dati.
    Adesso vorrei che oltre uscirmi 'Query eseguita corretamente', l'utente fosse reindirizzato nella pagina di inserimento.
    Come posso fare ? Grazie

  3. #3
    L'avatar di naviland
    naviland non è connesso Utente
    Data registrazione
    31-12-2009
    Messaggi
    128

    Predefinito

    Codice PHP:
    header("location: PAGINA CHE VUOI TU");

  4. #4
    portier non è connesso Utente
    Data registrazione
    07-06-2014
    Messaggi
    127

    Predefinito

    Grazie, naviland. Funziona.
    Come potrei fare per aggiungere anche la scritta nella PAGINA CHE VUOI TU che informa sull'operazione andata a buon fine ? Cioè il messaggio come c'era prima 'Query eseguita correttamente' ?

  5. #5
    L'avatar di naviland
    naviland non è connesso Utente
    Data registrazione
    31-12-2009
    Messaggi
    128

    Predefinito

    Se intendi stampare la scritta in questa pagina e poi dirottare l'utente non puoi.
    Se fai l'output della scritta non puoi inviare poi l'header per il redirect (gli header prima di tutto) se invece invii l'header non visualizzeresti la scritta.
    Puoi inserire il messaggio nell'altra pagina in questo caso dipende puoi inserirlo come semplice html oppure tramite php con echo, print, etc.
    Hai anche un altra possibilità al termine della query stampi la scritta "query eseguita" e utilizzi javascript per effettuare un redirect dopo X secondi.

  6. #6
    portier non è connesso Utente
    Data registrazione
    07-06-2014
    Messaggi
    127

    Predefinito

    Grazie ancora per il supporto. Molto chiaro.
    Quello che intendo dire è mettere il messaggio nella pagina del form, non in quella di inserimento dati, come hai intuito tu.
    In pratica dalla pagina del form, spedisco i dati nel file di inserimento per il database. Però da questo file devo tornare poi indietro nella pagina del sito (per questo cercavo il modo di reindirizzare), ma a questo punto devo anche confermare dell'avvenuto passaggio dati.
    Altrimenti compare solo il form ri-pulito, senza avvisi e potrebbe lasciare nel dubbio su quello che è successo.
    Stavo pensando, ma forse dico una cavolata, potrei inizializzare una variabile prima dell'inserimento dati nella pagina del reindirizzamento e recupererla nella pagina del form (quella dove reindirizzo) ? In questo modo se la variabile è valorizzata, faccio comparire il messaggio di avvenuto inserimento e poi riazzero la variabile stessa.
    Spero di essermi spiegato. Grazie di ogni indicazione.

  7. #7
    L'avatar di naviland
    naviland non è connesso Utente
    Data registrazione
    31-12-2009
    Messaggi
    128

    Predefinito

    Adesso ho capito bene cosa vuoi fare.
    Facendo tutto con PHP mi vengono in mente due possibilità:
    1)
    Utilizzo della "variabile" come hai detto tu però non può essere in realtà una variabile non puoi condividerle tra due esecuzioni diverse, deve essere un parametro via GET ex: form.php?msg=true in questo modo nella pagina form leggi il valore di $_GET['msg'] se è definito stampi il messaggio se no niente.
    In questo caso si tratta di un semplice messaggio non è un problema ma in generale non affidare mai passaggi di valori sensibili a get in quanto sono facilmente alterabili.

    2)
    In questo caso la pagina del form e la pagina che lo processa sono la stessa.
    In cima allo script ci sarà la parte che elabora il form che verrà utilizzata solo se sono presenti dei dati Post del form, se non ci sono stampi il form.
    Se invece il form è stato inviato lo elabori stampi il messaggio e stampi il form.

    La prima soluzione è più semplice, la seconda un pò meno ma ti permette di dare anche messaggi di errore pertinenti tipo "non hai compilato il campo email" ristampando il form con già i valori che aveva inserito l'utente senza che lo debba riscrivere tutto.

  8. #8
    portier non è connesso Utente
    Data registrazione
    07-06-2014
    Messaggi
    127

    Predefinito

    Grazie. Proverò come suggerisci al punto 2.
    Poi ti farò sapere e se avrò degli intoppi spero di trovare ancora aiuti.
    Grazie ancora. Ciao

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •