Visualizzazione risultati 1 fino 9 di 9

Discussione: problema query mysql

  1. #1
    Guest

    Predefinito problema query mysql

    vi posto tutto il codice così facciamo prima :)
    Codice PHP:
    session_start();
    include
    "database.php";
    if(
    $_GET['log']=='ok'){
    $nickk=$_POST['nick'];
    $sql="SELECT * FROM chat WHERE nick='$nickk'";
    $query=mysql_query($sql);
    $num=mysql_num_rows($query);

    $nickn=strlen($_POST['nick']);
    if (
    $_POST['nick']==''){
    $risp='<h2> Specificare un Nickname!</h2>';
    }else if(
    $nickn<5){
    $risp="<h2> Il Nickname deve contenre almeno 5 caratteri!</h2>";
    }else if(
    $nickn>13){
    $risp="<h2> Il Nickname non può esere più lungo di 13 caratteri!</h2>";
    }else if(
    $num==1){
    $risp="<h2> Esiste già un utente con questo Nickname!</h2>";

    }else{

    $time=time()+120;
    mysql_query("INSERT INTO chat (id,nick,time) VALUES ('','$nickk','$time')");


    $risp="";
    header("location: index.php");
    }
    }
    bene... allora questo dovrebbe essere uno script per la convalida di un nickname per una chat, la pagina non da errori solo che la query:
    Codice PHP:
    mysql_query("INSERT INTO chat (id,nick,time) VALUES ('','$nickk','$time')");
    non ha effetto... ho provato a vedere se dava errori con mysql_erorr() ma non risulta nulla... cioè mi fila tuto liscio... tranne che non viene eseguita la query :/
    suggerimenti?

  2. #2
    Guest

    Predefinito

    Aggiungi all'inizio dello script error_reporting(E_ALL), dopo di che controlla anche che il DB sia collegato correttamente.


  3. #3
    Guest

    Predefinito

    ecco il risultato... io non l'ho capito :/

    Codice PHP:
    Notice: Undefined index: log in /membri/corsoeffe/chat/login.php on line 5

    EDIT:

    la riga 5 nel codice che ho postato è la terza
    Ultima modifica di corsoeffe : 04-02-2012 alle ore 21.16.20

  4. #4
    Guest

    Predefinito

    In pratica dice che nell'URL non esiste alcun parametro log. Hai provato ad inserirlo ed assegnarli il valore ok, dopo di che provare ad eseguire la query?


  5. #5
    Guest

    Predefinito

    non credo sia il problema.... la variabile di sessione get['log'] viene settata da un form html che si trova più sotto nella pagina(il form ricarica la pagina e assegna la variabile di sesione) e poi le altre condizioni dopo la condizione che verifica 'log' le esegue tutte alla perfezione(comprese le query che ci sono prima), solo l'ultima query non viene eseguita :/

  6. #6
    L'avatar di radiodelmomento
    radiodelmomento non è connesso AlterGuru
    Data registrazione
    09-09-2010
    Messaggi
    1,075

    Predefinito

    Puoi linkarci la pagina?

  7. #7
    Guest

    Predefinito

    puoi contattarmi in privato?

    Mio contatto:
    msn: cristaller@hotmail.it
    Ultima modifica di corsoeffe : 05-02-2012 alle ore 18.25.11

  8. #8
    Guest

    Predefinito

    corsoeffe, stai chiedendo aiuto, ti si danno le risposte e dire "penso", non è il migliore dei modi per risolvere il problema... Fai dei test, poi nel caso ci dici l'errore e ti aiutamo a risolvere.

    Quindi, cerca di risolvere il problema descritto prima, perché la query che NON viene eseguito, si trova all'interno della condizione con il valore di $_GET.

    Codice PHP:
    if ($_GET['log'] == 'ok')
    {
    $risp = '';
    $nickk = $_POST['nick'];

    if (!
    $nickk)
    {
    $risp = '<h2> Specificare un Nickname!</h2>';
    }
    else
    {
    $sql = "SELECT * FROM chat WHERE nick='{$nickk}'";
    $query = mysql_query($sql);
    $num = mysql_num_rows($query);

    $nickn = strlen($_POST['nick']);

    if (
    $num == 1)
    {
    $risp = '<h2>Esiste già un utente con questo Nickname!</h2>';
    }
    else
    {
    if (
    $nickn < 5)
    {
    $risp = '<h2>Il Nickname deve contenre almeno 5 caratteri!</h2>';
    }
    else if (
    $nickn > 13)
    {
    $risp = '<h2>Il Nickname non può esere più lungo di 13 caratteri!</h2>';
    }
    else
    {
    $time = time() + 120;

    mysql_query("INSERT INTO chat (id,nick,time) VALUES ('','$nickk','$time')") or die('Error: ' . mysql_error());

    header("location: index.php");
    }
    }
    }
    }
    Le condizioni non avevano un ordine logico e le ho modificate in modo che ne abbiano.

    In secondo luogo, vedrai che se invii il form, nell'URL c'è il parametro log=ok e il nick rispetta gli standards, la query verrà eseguita.


  9. #9
    Guest

    Predefinito

    Grazie mille! ora funziona tutto :)

Regole di scrittura

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