Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1
    Utente di HTML.it L'avatar di Veronica80
    Registrato dal
    May 2006
    Messaggi
    2,117

    Insert into....non va...

    CIAOO!
    io ho 2 file!

    Config.php:
    Codice PHP:
    <?
    $dbhost 
    '127.0.01';
    $dbusername'user';
    $database_name 'db';
    $dbpasswd 'pass';

    $connection mysql_pconnect("$dbhost","$dbusername","$dbpasswd")
        or die (
    $errConnDB);
    $db mysql_select_db("$database_name"$connection)
        or die(
    $errSelDB);
    ?>
    col quale mi connetto al db MySql (e sembra funzioni)
    Poi ho:
    registra.php:
    Codice PHP:
    <?
    session_start
    ();
    $_SESSION['cfEsiste']=FALSE;
    $_SESSION['mailEsiste']=FALSE;
    include(
    "../includes/variabili.php");
    include(
    "../includes/config.php");
    //controllo cf:
    $sql=mysql_query("SELECT * FROM users WHERE cf='"$cf ."'");
    $numeri=mysql_num_rows($sql);
    if(
    $numeri>0){
    $_SESSION['cfEsiste']=TRUE;
    }
    //controllo mail:
    $sql=mysql_query("SELECT * FROM users WHERE mail='"$mail1 ."'");
    $numeri=mysql_num_rows($sql);
    if(
    $numeri>0){
    $_SESSION['mailEsiste']=TRUE;
    }

    //inserimento:
    if($_SESSION['cfEsiste']==FALSE && $_SESSION['mailEsiste']==FALSE){
        
    $sql =mysql_query("INSERT INTO users ('userid', 'nome', 'cognome', 'mail', 'cf', 'password', 'indirizzo', 'livello', 'activated', 'cap', 'citta', 'provincia', 'telefono', 'fax', 'cellulare', 'piva', 'domanda', 'risposta') VALUES ('', '"$nome ."', '"$cognome ."', '"$mail1 ."', '"$cf ."', '"$psw1 ."', '"$indirizzo ."', '"$livello ."', '0', '"$cap ."', '"$citta ."', '"$provincia ."', '"$telefono ."', '"$fax ."', '"$cellulare ."', '"$piva ."', '"$domanda ."', '"$risposta ."')");
    }
    ?>
    Col quale dovrei aggiungere un nuovo utente! Le variabili le passo da un filmato flash e funge perchè vedo che se inserisco una mail o un codice fiscale che è già nella tabella user mi avvisa (dal filmato flash poi rimando a un 3* file che controlla le var mailEsiste e cfEsiste).

    Però se le 2 var suddette son FALSE e quindi deve eseguire la "insert into" non succede nulla...non mi inserisce l'utente....
    ho sbagliato qualcosa?

    Grazie a tutti!

  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    Non ho letto tutto il codice ma la cosa che balza subito all'occhio è questo errore:

    INSERT INTO users ('userid', 'nome', 'cognome', 'mail', 'cf', 'password', 'indirizzo', 'livello', 'activated', 'cap', 'citta', 'provincia', 'telefono', 'fax', 'cellulare', 'piva', 'domanda', 'risposta')

    Non ci vogliono gli apici attorno ai nomi dei campi. Eliminali

    INSERT INTO users (userid, nome,...) values...



  3. #3
    Utente di HTML.it L'avatar di Veronica80
    Registrato dal
    May 2006
    Messaggi
    2,117
    caspita! Ora provo a correggere

  4. #4
    Utente di HTML.it L'avatar di Veronica80
    Registrato dal
    May 2006
    Messaggi
    2,117
    Funziona!
    Senti visto che ci sono approfitto di te!

    Devo eliminare gli apostrofi dalle variabili che edita l'utente.

    Esempio se inserisce:

    "Quartu Sant'elena"

    dovrei fare una specie di replace!
    Grazie!

  5. #5
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    Non mi è chiaro cosa vuoi fare, vuoi inserire nel db la stringa senza l'apice o cosa?

  6. #6
    Utente di HTML.it L'avatar di Veronica80
    Registrato dal
    May 2006
    Messaggi
    2,117
    vorrei sostituire l'apostrofo ' con \' in modo che non lo veda come un apice!

    In VB si usa il replace ma in php nn so...!

    Ah per modificare un record uso UPDATE? nn ricordo bene la sintasii...

  7. #7
    Utente di HTML.it L'avatar di polinet
    Registrato dal
    Nov 2000
    Messaggi
    993
    Ah per modificare un record uso UPDATE? nn ricordo bene la sintasii...
    Codice PHP:
    <?php
    $sql 
    " UPDATE tabella set campo = ".$campo." where id = ".$id." ";
    ¿Hasta la pasta?

  8. #8
    Utente di HTML.it L'avatar di Veronica80
    Registrato dal
    May 2006
    Messaggi
    2,117
    grazie Poly

  9. #9
    gli apici non sono un problema in php
    tra l'atro in HTML non c'è la possibilità di sostitutirli con cose tipo

    > = &lt;

    oppure

    à = &agrave;

    semplicemente tieni a mente che quando passi una VALUE che può contenere apici o virgolette, ti conviene scrivere una INSERT del genere

    INSERT INTO `tabella` (`campo`) VALUES (\"".$_POST['value']."\")

    in questo modo la stringa si comporrà correttamente. altrimenti si interromperà alla prima apice che php incontra
    [ nota che ` è diverso da ' ]

    se poi hai bisogno di assicurarti l'apposizione del backslash


    string addslashes ( string str )

    La funzione restituisce una stringa con il carattere di backslah '\' anteposto ai caratteri che richiedono il quoting nelle query dei database. Questi caratteri sono: apici singoli ('), doppi apici ("), backslash (\) e NUL (il byte NULL).


    ciao bella

  10. #10
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    Originariamente inviato da Veronica80
    vorrei sostituire l'apostrofo ' con \' in modo che non lo veda come un apice!

    In VB si usa il replace ma in php nn so...!

    Ah per modificare un record uso UPDATE? nn ricordo bene la sintasii...
    piuttosto che usare addslashes come ti hanno suggerito è meglio che usi le funzioni apposite per l'escape.

    http://se.php.net/manual/it/function...ape-string.php
    http://se.php.net/manual/it/function...ape-string.php

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 © 2025 vBulletin Solutions, Inc. All rights reserved.