Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    controllo nick e confronto col database

    Ciao ragazzi io avevo fatto questo codice per impostare il controllo su una pagina successiva alla registrazione dove se i campi nome cognome e codfisc erano vuoti il codice non partiva e dava un'errore, e fin qui tutto bene. poi ho fatto una richiesta al database con dreamweaver per estrarre tutti i campi nick e fare un controllo cosìcchè se il campo esistesse già farei mostrare un'altro messaggio d'errore.

    Mi aiutate a costruire un codice che compari il $_POST['nick'] ai risultati estratti dalla query e se ne trova anche solo uno uguale da un messaggio d'errore?

    vi posto la query d'estrazione fatta da DW e il mio codice:

    <?php
    if (!function_exists("GetSQLValueString")) {
    function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
    {
    $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;

    $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

    switch ($theType) {
    case "text":
    $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
    break;
    case "long":
    case "int":
    $theValue = ($theValue != "") ? intval($theValue) : "NULL";
    break;
    case "double":
    $theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";
    break;
    case "date":
    $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
    break;
    case "defined":
    $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
    break;
    }
    return $theValue;
    }
    }

    mysql_select_db($database_connections, $connections);
    $query_Recordset1 = "SELECT nick FROM utenti";
    $Recordset1 = mysql_query($query_Recordset1, $connections) or die(mysql_error());
    $row_Recordset1 = mysql_fetch_assoc($Recordset1);
    $totalRows_Recordset1 = mysql_num_rows($Recordset1);
    ?>




    Questo invece è il mio codice (la parte "nuova" in grassetto)




    if($_POST['nome']=="" || $_POST['cognome']=="" || $_POST['codfisc']=="" ){


    ?>

    <h3>Siamo spiacenti, Si è verificato un problema</h3>

    <?php
    if($_POST['nome']!= )

    } else {

    }


    }else{


    .....

  2. #2
    Codice PHP:
    /*
     non la assegnare così la variabile, fai prima un bell'escape per metterti al sicuro dal pericolo di una SQL Injection. Io la lascio così solo per semplicità
    */
     
    $nick=$_POST['nick']; 

     
    $query=mysql_query("SELECT COUNT(*) FROM utenti WHERE nick='$nick'",$connections) or die(mysql_error());
     
    $row=mysql_fetch_row($query);
     
    $num_nicks=$row[0];

     if(
    $num_nicks>0) {
      echo 
    "Questo nick è già registrato";
     } else {
      
    // ecc. ecc.
     

    Spero che funzioni, l'ho scritto così a volo.

  3. #3
    ma lo devo integgrare con la query ke ho già? xkè vedo che hai riscritto la query

    Ke poi uno script così non me lo accetta, mi da errore nela riga del secondo else

    Codice PHP:
    <?php

    require_once('connections/connections2.php');
    require_once(
    'connections/mailto.php');


    if(
    $_POST['nome']=="" || $_POST['cognome']=="" || $_POST['codfisc']=="" ){


    ?>

    <h3>Siamo spiacenti, Si è verificato un problema</h3>

    <?php
            $nick
    =$_POST['nick'];
            
            
    $query=mysql_query("SELECT COUNT(*) FROM utenti WHERE nick='$nick'",$connections) or die(mysql_error());
            
    $row=mysql_fetch_row($query);
            
    $num_nicks=$row[0];
            
            if(
    $num_nicks>0) {
              echo 
    "Questo nick è già registrato";
            } else { 
        
    }else{

  4. #4
    Come query, per controllare se il nick è stato registrato, è meglio usare questa che ti ho fornito.
    Per il resto, non so che altro dovrebbe fare di preciso la pagina, quindi non so se le altre query ti sono ancora utili.

    Il problema con else dipendeva dal fatto che era annidata male.

    Ecco la versione rivista e corretta.

    Codice PHP:
    <?php
    require_once('connections/connections2.php');
    require_once(
    'connections/mailto.php');

    if(
    $_POST['nome']=="" || $_POST['cognome']=="" || $_POST['codfisc']=="" ) { 
    ?>
       <h3>Siamo spiacenti, Si è verificato un problema</h3>
    <?php
    } else {
            
    $nick=$_POST['nick'];
            
            
    $query=mysql_query("SELECT COUNT(*) FROM utenti WHERE nick='$nick'",$connections) or die(mysql_error());
            
    $row=mysql_fetch_row($query);
            
    $num_nicks=$row[0];
            
            if(
    $num_nicks>0) {
    ?>
              <h3>Questo nick è già stato registrato</h3>
    <?php
            
    } else {
                
    // tutto bene, facciamo quel che si deve fare
            
    }   
    // endif
    ?>

  5. #5
    Scusa prima di provare il codice ho dovuto risolvere un problema di connessione al database. Ora l'ho provato ma non va...accetta un'iscrizione anche se il nieck esiste

  6. #6
    Codice PHP:
    <?php
    require_once('connections/connections2.php');
    require_once(
    'connections/mailto.php');

    if(
    $_POST['nome']=="" || $_POST['cognome']=="" || $_POST['codfisc']=="" ) {
    ?>
       <h3>Siamo spiacenti, Si è verificato un problema</h3>
    <?php
    } else {
            
    $nick=$_POST['nick'];
            
            
    $query=mysql_query("SELECT * FROM utenti WHERE nick='$nick'",$connections) or die(mysql_error());    
            if(
    mysql_num_rows($query)>0) {
    ?>
              <h3>Questo nick è già stato registrato</h3>
    <?php
            
    } else {
                
    // tutto bene, facciamo quel che si deve fare
            
    }   
    // endif
    ?>
    Prova così.

  7. #7
    Parse error: syntax error, unexpected $end in C:\webserver\Sito\convalidaregistrazione.php on line 167 ke è addirittura dopo il tag di chiusura html

  8. #8
    Nessun'anima buona in ascolto?

    Mi sta venendo un dubbio ma si possono mettere 2 if/else in questo modo?

    if {
    if {
    } else {
    }

    } else {

    }

    Perchè può essere che sia questo l'errore! intanto la prima verifica mi serve per dare un'errore se qualcuno carica la pagina per venire dalla registrazione, l'altro mi serve per controllare sul database che non ci sia un nick uguale...come fare?

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.