Sintassi corretta php

alberigo

Nuovo Utente
24 Ago 2008
8
0
0
Ciao a tutti.
Sto per mio diletto tentando di imparare a usare php dopo diversi anni a usare asp. Ho creato una pagina (php appunto) dove, dopo le funzioni di autenticazione login e di logout (funzionanti), ho aggiunto la seguenti righe:

PHP:
<?php
    if (isset($_POST["txtId"]) && !empty($_POST["txtId"])) { 
        $conteggio = 0;
        mysql_select_db($database_db_gestionalepiu, $db_gestionalepiu);
    
        $query_verifica_accesso = "SELECT COUNT(Identificativo) FROM tblAccessi WHERE Identificativo =".$_POST['txtId'];
        $verifica_accesso = mysql_query($query_verifica_accesso);
        $row = mysql_fetch_assoc($verifica_accesso);
        $conteggio = $row['count'];
    } 
?>

Questa pagina serve per registrarsi e la mia intenzione è quella di verificare se l'utente è già esistente nel db.
L'intenzione mia è quella di ottenere la variabile $conteggio che mi indica, se maggiore di 0, che l'utente è già presente.
Tale variabile verrà poi passata a una funzione javascript (lanciata dal keyup sulla casella di testo dell'utente) che mostrerà l'alert relativo.

Ovviamente il tutto non funziona (in phpmyadmin il select count funziona) e volevo sapere se c'è un problema di sintassi nella parte di codice di cui sopra, oppure se è dovuto a un errore di "intenzione", nel senso che non si può fare. Ho visto su internet che con jQuery si può risolvere il problema, ma non lo conosco.

Grazie comunque per disponibilità e per ogni suggerimento vogliate darmi.
 
Ultima modifica di un moderatore:

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
Ciao, il problema riguarda la sintassi del codice SQL, dovresti dare un alias al COUNT
Codice:
SELECT COUNT(Identificativo) as conta
poi lo recuperi in php
PHP:
$conteggio = $row['conta'];
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
149
63
PR
www.borgo-italia.it
ciao
oppure puoi usare la funzione mysql_num_rows
PHP:
<?php
    if (isset($_POST["txtId"]) && !empty($_POST["txtId"])) { 
        $conteggio = 0;
        mysql_select_db($database_db_gestionalepiu, $db_gestionalepiu);
        $query_verifica_accesso = "SELECT * FROM tblAccessi WHERE Identificativo =".$_POST['txtId'];
        $verifica_accesso = mysql_query($query_verifica_accesso);
        $conteggio = mysql_num_rows($verifica_accesso);
    } 
?>
comunque abbandona le vecchie mysql (deprecate) e passa alle mysqli
 

alberigo

Nuovo Utente
24 Ago 2008
8
0
0
Ho modificato il mio codice precedentemente postato con il seguente:

PHP:
<?php
// connessione al db
require_once('../Connections/db_gestionalepiu.php');

if(!isset_username($_GET["utente"])){
	echo $conteggio;
}
else{
	echo $conteggio;
}
	
// funzione per verificare l'esistenza dell'username

function isset_username($username){
	$username = trim($username);
		
	$query = "SELECT COUNT(*) AS num FROM tblAccessi WHERE Identificativo='" .$username. "'";
	$result = mysql_query($query) or die(mysql_error());
	$row = mysql_fetch_array($result);
	
	if($row['num']>=1){
		$conteggio = $row['num'];
		return TRUE;
	}
	else{
		$conteggio = 0;
		return FALSE;
	}
} 
?>

ma non mi riesce di visualizzare il valore della variabile $conteggio. Ripeto che il select eseguito in phpmyadmin funziona correttamente.
 
Ultima modifica di un moderatore:

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
149
63
PR
www.borgo-italia.it
ciao
per forza, fai il return TRUE o FALSE ed è quello che la funzione ritorna
attento le variabile interne alle funzioni NON sono conosciute all'esterno, salvo dargli il global però sconsigliabile
ti conviene forse dargfli come return il valore di $conteggio e poi operare di conseguenza

p.s.
per php usa l'apposito bccode
 

alberigo

Nuovo Utente
24 Ago 2008
8
0
0
Scusa la mia ignoranza, ma cosa intendi con bccode? Sto imparando php per mio conto per cui qualche termine sfugge alla mia comprensione.

Tornando al mio script, ho fatto come mi hai detto tu ma non visualizza nulla.
Da quello che mi dici, credo il motivo per cui non visualizzo nulla sia più dovuto al fatto della variabili non conosciute all'esterno della funzione che l'errore nel return (infatti anche passando...

PHP:
$conteggio = $row['num'];
return $

non visualizza nulla. A meno che il tuo "...operare di conseguenza" intende qualcosa che la mia minima conoscenza di php non mi fa comprendere.
 
Ultima modifica di un moderatore:

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
149
63
PR
www.borgo-italia.it
ciao
ecco
PHP:
<?php
// connessione al db
require_once('../Connections/db_gestionalepiu.php');
if(isset_username($_GET["utente"]) !=0){
    echo isset_username($_GET["utente"]);//ridondante, è comunque 1
}
else{
    echo 0;
} 
// funzione per verificare l'esistenza dell'username
function isset_username($username){
    $username = trim($username);
    $query = "SELECT COUNT(*) AS num FROM tblAccessi WHERE Identificativo='$username'";
    $result = mysql_query($query) or die(mysql_error());
    $row = mysql_fetch_array($result);
    return $row['num'];//$row['num'] è 1 se trovato, 0 se non trovato
} 
?>
poi per bccode si intende (es) quello che stai usando
Codice:
, nella seconda riga di formattazione del post ultimo pulsante ti da [PHP]
 
Discussioni simili
Autore Titolo Forum Risposte Data
P Domande sulla sintassi corretta jQuery jQuery 8
borgo italia sintassi corretta PHP 3
C Header: Sintassi corretta ?? PHP 2
M Sintassi "personalizzata" per mysql workbench? MySQL 0
C [RISOLTO][PHP] Errore di sintassi PHP 8
J [MySQL] Problema di sintassi? MySQL 1
V [MySQL] Errore di sintassi 1064 MySQL 5
booklisa [PHP] Domanda scema di sintassi PHP 2
CristianB72 [PHP] Controllo sintassi indirizzo email non funziona PHP 13
gandalf1959 Errore di sintassi? PHP 5
G Errore di sintassi PHP parentesi graffa PHP 1
garimpeiro Errore di sintassi si tenta di aggiornare file in formato dbf Programmazione 2
T Controllo sintassi mail per accesso dispositivi Wi-Fi Javascript 1
K sintassi passaggio variabile come parametro in funzione. Javascript 3
D Problema sintassi INNER JOIN a 3 tabelle PHP 4
K problema di sintassi con le stringhe PHP 5
T Errori di sintassi nel seguente codice Javascript 1
B Errore di sintassi sql MySQL 0
H [RISOLTO] Errore si sintassi sql MySQL 5
IImanuII Errore di sintassi PHP 10
P Errore nella sintassi SQL WordPress 0
E problema di sintassi su una select (plugin) PHP 5.3 PHP 3
G Mysql problema di sintassi PHP 2
H Errore di sintassi mysql? PHP 23
A sintassi query mysql PHP 3
Komix Errore sintassi SQL "UPDATE" in file PHP PHP 10
T errore di sintassi sul db mysql MySQL 1
L Errore di sintassi in if PHP 6
G Problema sintassi INSERT INTO Classic ASP 2
A sintassi sql per order by MS Access 2
L problema sintassi href Classic ASP 2
A Sintassi select PHP 4
F Sintassi per stored procedure Classic ASP 1
A Errore di sintassi sulla query multipla in Ultradev Classic ASP 1
8 Problema probabilmente di sintassi su visualizzazione riga database PHP 2
S Help sintassi php PHP 1
Lunasx Problemi sintassi SQL Classic ASP 4
G Sintassi select PHP 1
I Errore sintassi guestbook PHP 1
G Sintassi dei linguaggi programmazione Programmazione 8
D errore sintassi INSERT INTO (80040e14) Classic ASP 1
G Script php per invio email con controllo sintassi e record MX PHP 0
G Script php per invio email con controllo sintassi e record MX PHP 7
F Creare una tabella dinamica con la sintassi del W3C Javascript 1
S Sintassi javascript in IE Javascript 3
B Un problema con la sintassi di un collegamento.. PHP 1
A Errore di sintassi Classic ASP 1
M sintassi query sql (con php) PHP 2
grottafelix Errore di sintassi Classic ASP 1
C sintassi asp Classic ASP 0

Discussioni simili