Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16
  1. #1

    [PHP & MYSQL] Problema con funzione

    Salve a tutti

    ho un problema strano che non capisco in locale sul mio pc (Xampp) questo funziona

    Codice PHP:
    if(isset($_POST['adduser']))
    {
    $usr $_POST['addusr'];
    $pwd $_POST['addpwd'];
    $email $_POST['addemail'];
    addUser($usr,$pwd,$email);
    }

    // ..... form ecc ..... 
    pagian funzioni:

    Codice PHP:
    // Funzione aggiungi utente

    function addUser($usr$pwd$email)
    {
    $usr $_POST['addusr'];
    $pwd $_POST['addpwd'];
    $email $_POST['addemail'];


    // Inserisco nel db i valori del post

    $sql "INSERT INTO tbl_login (lg_usr, lg_pwd, lg_email) VALUES ('$usr', '".md5($pwd)."', '$email')";
    $query mysql_query($sql) or die (mysql_error());

    // Seleziono dal db l'utente inserito e recupero l'id

    $sql_select_user "SELECT * FROM tbl_login WHERE lg_usr = '$usr'";
    $query_select_user mysql_query($sql_select_user) or die (mysql_error());
    $result_select_user mysql_fetch_assoc($query_select_user) or die (mysql_error());
    $userid $result_select_user['lg_id'];

    // Aggiungo l'utente (id) inserito nella tabella impostazioni

    $sql_add_settings "INSERT INTO tbl_settings (lg_id) VALUES ('$userid')";
    $query_add_settings mysql_query($sql_add_settings) or die (mysql_error());

    Ma se lo sposto sul server mi fa creshare apache (il server é il mio qui da parte a me) e uso tutte le versioni piu aggiornate di mysql 5.0.45 apache 2.2 php 5.2.4, il problema é che non mi da neanche un messaggio di errore e non so come risolvere!

    Qualche idea?

    Grazie Michel
    PHP THE BEST

  2. #2
    inizia dai log di apache... e a non installare necessariamente leultimissime versioni senza documentarti su loro possibili bug e/o prroblemi di compatibilità, specie sul server ^_^

  3. #3
    ........
    (il server é il mio qui da parte a me)

    Questa me la devi proprio spiegare perché non l'ho capita!
    Il server che usi ce l'hai tu in ufficio e puoi metterci mani su, oppure sei in hosting o in housing?

    Sul codice vorrei farti delle osservazioni.

    1)

    if(isset($_POST['adduser']))
    {
    $usr = $_POST['addusr'];
    $pwd = $_POST['addpwd'];
    $email = $_POST['addemail'];
    addUser($usr,$pwd,$email);
    }

    function addUser($usr, $pwd, $email)
    {
    $usr = $_POST['addusr'];
    $pwd = $_POST['addpwd'];
    $email = $_POST['addemail'];
    .......


    Ke bisogno hai di assegnare di nuovo valori a queste 3 var.li se glielo dai prima di chiamare addUser? Cioé

    if(isset($_POST['adduser']))
    {
    $usr = $_POST['addusr'];
    $pwd = $_POST['addpwd'];
    $email = $_POST['addemail'];

    Qui già inizializzi queste 3 var.li, quindi quando fai
    addUser($usr,$pwd,$email);

    Queste 3 var.li già contengono un valore. Di conseguenza:

    function addUser($usr, $pwd, $email)
    {
    $usr = $_POST['addusr'];
    $pwd = $_POST['addpwd'];
    $email = $_POST['addemail'];

    Queste ultime 3 istruzioni le puoi eliminare.

    2) Hai aperto la connessione a MySQL? Se si, controlla ancora i parametri sono diversi rispetto a quello locale. Cioé tu hai lavorato in locale ed apri la connessione a MySQL dando certi parametri; probabilmenti tali parametri sono diversi per la connessione dal tuo Server. Quindi quando hai portato il codice sul tuo Server controlla se hai messo la connessione giusta.

    Ciao

  4. #4
    Neanche io vedo una connessione al DB

  5. #5
    Grazie per le risposte,

    la connessione c'é é inclusa nella pagina member.php

    Codice PHP:
    // Avvio la sessione
    error_reporting (E_ALL);
    session_start();

    // Includo le funzioni

    include"function.inc.php";

    // includo i parametri per la connessione al database

    include"config.inc.php";

    // Funzioni
    verifyAuth();
    sessionTime();
    userTimeout();
    .... 
    Dentro la pagina member includo le pagine che mi servono dai rispettivi link
    , per esempio Amministrazione sito = member.php?uid=6&page=impostazioni

    Sicuramente ce qualcosa nella query che non li piace sul server, non é che posso fare la stessa cosa ma scrivendo un al'tro codice?
    PHP THE BEST

  6. #6
    Utente di HTML.it
    Registrato dal
    Dec 2006
    Messaggi
    327

    Re: [PHP & MYSQL] Problema con funzione

    Originariamente inviato da Sbarboff2005
    Salve a tutti

    ho un problema strano che non capisco in locale sul mio pc (Xampp) questo funziona

    Codice PHP:
    if(isset($_POST['adduser']))
    {
    $usr $_POST['addusr'];
    $pwd $_POST['addpwd'];
    $email $_POST['addemail'];
    addUser($usr,$pwd,$email);
    }

    // ..... form ecc ..... 
    pagian funzioni:

    Codice PHP:
    // Funzione aggiungi utente

    function addUser($usr$pwd$email)
    {
    $usr $_POST['addusr'];
    $pwd $_POST['addpwd'];
    $email $_POST['addemail'];


    // Inserisco nel db i valori del post

    $sql "INSERT INTO tbl_login (lg_usr, lg_pwd, lg_email) VALUES ('$usr', '".md5($pwd)."', '$email')";
    $query mysql_query($sql) or die (mysql_error());

    // Seleziono dal db l'utente inserito e recupero l'id

    $sql_select_user "SELECT * FROM tbl_login WHERE lg_usr = '$usr'";
    $query_select_user mysql_query($sql_select_user) or die (mysql_error());
    $result_select_user mysql_fetch_assoc($query_select_user) or die (mysql_error());
    $userid $result_select_user['lg_id'];

    // Aggiungo l'utente (id) inserito nella tabella impostazioni

    $sql_add_settings "INSERT INTO tbl_settings (lg_id) VALUES ('$userid')";
    $query_add_settings mysql_query($sql_add_settings) or die (mysql_error());

    Ma se lo sposto sul server mi fa creshare apache (il server é il mio qui da parte a me) e uso tutte le versioni piu aggiornate di mysql 5.0.45 apache 2.2 php 5.2.4, il problema é che non mi da neanche un messaggio di errore e non so come risolvere!

    Qualche idea?

    Grazie Michel
    1. prova ad eseguire direttamente le query sul db per vedere se fungono.
    2. Fai una pagina di prova con una semplice insert per vedere se funge.
    3. Inoltre ti consiglio, se l'id utente che devi recuperare è autoincrementante, ti recuperarlo utilizzando la semplice funzione

    Codice PHP:
    $userid mysql_insert_id(); 

    incece di eseguire un ulteriore query

    Codice PHP:
    $sql_select_user "SELECT * FROM tbl_login WHERE lg_usr = '$usr'";
    $query_select_user mysql_query($sql_select_user) or die (mysql_error());
    $result_select_user mysql_fetch_assoc($query_select_user) or die (mysql_error());
    $userid $result_select_user['lg_id']; 
    4. Posta anche la pagina di connessione al db

  7. #7
    eccola:

    Codice PHP:
    <?php 

    // Parametri per la connessione al database

    $db_name "tsldb";
    $db_host "localhost";
    $db_user "xxxx;
    $db_pass = "xxxx";

    $conn = mysql_connect($db_host$db_user$db_pass) or die ("Errore nella connessioneverifica il file connessione.php" . mysql_error());

    mysql_select_db(
    $db_name$conn) or die ("Errore nel selezionare il database" . mysql_error());

    ?>
    PHP THE BEST

  8. #8
    Utente di HTML.it
    Registrato dal
    Dec 2006
    Messaggi
    327
    Originariamente inviato da Sbarboff2005
    eccola:

    Codice PHP:
    <?php 

    // Parametri per la connessione al database

    $db_name "tsldb";
    $db_host "localhost";
    $db_user "xxxx;
    $db_pass = "xxxx";

    $conn = mysql_connect($db_host$db_user$db_pass) or die ("Errore nella connessioneverifica il file connessione.php" . mysql_error());

    mysql_select_db(
    $db_name$conn) or die ("Errore nel selezionare il database" . mysql_error());

    ?>
    ma c'è un errore, devi chiudere i doppi apici su $db_user


    Codice PHP:
    <?php 

    // Parametri per la connessione al database

    $db_name "tsldb";
    $db_host "localhost";
    $db_user "xxxx";
    $db_pass "xxxx";

    $conn mysql_connect($db_host$db_user$db_pass) or die ("Errore nella connessione, verifica il file connessione.php" mysql_error());

    mysql_select_db($db_name$conn) or die ("Errore nel selezionare il database" mysql_error());

    ?>

  9. #9
    Ma che strano sul file per la connessione e giusto!! vabbe comunque funziona


    non ho capito come devo fare per mysql_insert_id().

    forse cosi:

    Codice PHP:
    $sql "INSERT INTO tbl_login (lg_usr, lg_pwd, lg_email) VALUES ('$usr', '".md5($pwd)."', '$email')";
    $query mysql_query($sql) or die (mysql_error());
    $userid mysql_insert_id($query);

    // Aggiungo l'utente (id) inserito nella tabella impostazioni

    $sql_add_settings "INSERT INTO tbl_settings (lg_id) VALUES ('$userid')";
    $query_add_settings mysql_query($sql_add_settings) or die (mysql_error());


    E corretto?
    PHP THE BEST

  10. #10
    Utente di HTML.it
    Registrato dal
    Dec 2006
    Messaggi
    327
    si, prova e fammi sapere.
    Cmq solo se si tratta di un campo autoincrementante

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.