Visualizzazione dei risultati da 1 a 10 su 14

Hybrid View

  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    292
    Ciao Hyder,
    in base a cosa dici che la INSERT non va ? visualizzi errori di qualche tipo?
    Viene eseguita realmente con mysql_query?
    E' scritta in modo corretto?

    Come dice santino, gli errori vengono segnalati, la explode necessita di una stringa come secondo parametro http://php.net/manual/en/function.explode.php, ma la variabile $u_namealreadyex
    $u_namealreadyex = mysql_fetch_array($sql)
    non è una stringa perchè la funzione mysql_fetch_array ritorna un array (http://php.net/manual/en/function.mysql-fetch-array.php).
    Sempre come ha già fatto notare santino, se ci fossero problemi di connessione verrebbe eseguita la seguente istruzione con stampa dell'errore e terminazione dlelo script:

    if (!$link) { die('Not connected : ' . mysql_error());}


    Il modulo mysql è stato deprecato, dovresti quindi aggiornare il codice facendo uso di mysqli o PDO.
    In genereale dovresti cercare di capire meglio il codice che scrivi affidandoti, quando possibile, alla documentazione.
    Sempre se tutto ciò non è il risultato di un mix di copia/incolla

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2015
    Messaggi
    29
    Quote Originariamente inviata da arkus Visualizza il messaggio
    Ciao Hyder,
    in base a cosa dici che la INSERT non va ? visualizzi errori di qualche tipo?
    Viene eseguita realmente con mysql_query?
    E' scritta in modo corretto?

    Come dice santino, gli errori vengono segnalati, la explode necessita di una stringa come secondo parametro http://php.net/manual/en/function.explode.php, ma la variabile $u_namealreadyex
    $u_namealreadyex = mysql_fetch_array($sql)
    non è una stringa perchè la funzione mysql_fetch_array ritorna un array (http://php.net/manual/en/function.mysql-fetch-array.php).
    Sempre come ha già fatto notare santino, se ci fossero problemi di connessione verrebbe eseguita la seguente istruzione con stampa dell'errore e terminazione dlelo script:

    if (!$link) { die('Not connected : ' . mysql_error());}


    Il modulo mysql è stato deprecato, dovresti quindi aggiornare il codice facendo uso di mysqli o PDO.
    In genereale dovresti cercare di capire meglio il codice che scrivi affidandoti, quando possibile, alla documentazione.
    Sempre se tutto ciò non è il risultato di un mix di copia/incolla
    Non ho assolutamente copiato e incollato nulla, php lo conosco a sufficienza per fare un sistema così semplice.

    Comunque, ho fatto un po' di aggiornamenti, explode l'avevo provato so che ha bisogno di una stringa, ma purtroppo non mi era venuto in mente nulla, quindi l'avevo usato, ora però un lampo di genio: usare mysql_num_rows.

    Quindi per verificare se il nome utente inserito già esiste ho usato num rows.

    Quindi:

    File register.php:

    Codice PHP:
    <html><head>     <title>Registration Module</title>     <link href="css/access.css" rel="stylesheet" type="text/css" /></head><body>     <form id="login" action="regverify.php" method="post">        <fieldset id="inputs">            <input id="username" name="username" type="text" placeholder="Username" autofocus required>            <input id="password" name="password" type="password" placeholder="Password" autofocus required>            <input id="email" name="email" type="email" placeholder="Email" autofocus required>        </fieldset>        <fieldset id="actions">            <input type="submit" id="submit" name="action" value="Submit New Registration">            <a href="login.php" id="back">Have already an account?</a>            <a href="index.php" id="back">Return Back</a>        </fieldset>    </form> </body></html
    File regverify.php

    Codice PHP:
    <?php ini_set("display_errors"1); error_reporting(E_ALL); ?>
    <?php



    include("functions_custom.php");include("register.php");include("config.php");

    $username trim(stripslashes($_POST['username'])); // trim$password = trim(stripslashes($_POST['password'])); // trim$email = trim(stripslashes($_POST['email']));       // trim$action = trim(stripslashes($_POST['action']));     // trim
    if(isset($username) && isset($password) && isset($email)) {
      echo 
    "<link href=\"css/custom_alert.css\" media=\"screen\" rel=\"stylesheet\" type=\"text/css\" />        <script src=\"//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js\"></script>        <script src=\"js/custom_alert.js\"></script>        <script type=text/javascript>_alert('LOL!','Sono isset!')</script>";            if(isset($action) && ($action=="Submit New Registration")) {

                        
    mysql_connect($host$db_user$db_psw);
    $query mysql_query("SELECT username FROM Users WHERE username='$username'");
      if (
    mysql_num_rows($query) != 0)  {      echo "<link href=\"css/custom_alert.css\" media=\"screen\" rel=\"stylesheet\" type=\"text/css\" />        <script src=\"//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js\"></script>        <script src=\"js/custom_alert.js\"></script>        <script type=text/javascript>_alert('Error!','Username already exists! Choose another')</script>";  }
      else  {    echo 
    "<link href=\"css/custom_alert.css\" media=\"screen\" rel=\"stylesheet\" type=\"text/css\" />        <script src=\"//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js\"></script>        <script src=\"js/custom_alert.js\"></script>        <script type=text/javascript>_alert('LOL!','Puoi continuare!')</script>";  }            

          }
    }

    ?>
    Se immettesi lo username 'test', dato che esiste nel database, se la query funzionasse farebbe apparire il mio alert personalizzato, dicendo chè lo username immesso già esiste, ma invece nulla, non appare ed anzi, mi dice che la query è sbagliata:

    Codice PHP:
    mysql_num_rows() expects parameter 1 to be resourceboolean given nel file regverify.php sulla linea numero 42. 

    E non so che pesci prendere, seriamente...

    Help!

Tag per questa discussione

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.