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

    mysql_num_rows() expects parameter 1 to be resource, boolean given

    ciao a tutti, ho provato in tutti i modi a capire cos'era ma i codice che ho scritto sotto mi riporta l'errore : Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in /opt/lampp/htdocs/progetto_renso/pag_registrazione.php on line 66, mi potete illuminare?

    codice:
    <h1>registrazione</h1>
    <?php
    //scrivere funzione che stampi sette parametri della registrazione
    function stampa_form($nome, $cognome, $dataNas, $luogoNas, $indirizzo, $telefono, $mail) 
    	{
    //fare form
    	echo "
    	     <form action=\"?go=registrazione\" method=\"post\">
    	  	
    
    
    	   	<span class=\"form\"><h4>Nome</h4></span>
    
    	   	<input type=\"text\" name=\"nome\" value=\"{$nome}\" />
    	  	</p>
    	  	
    
    
    	   	<span class=\"form\"><h4>Cognome</h4></span>
    
    	   	<input type=\"text\" name=\"cognome\" value=\"{$cognome}\" />
    	  	</p>
    	  	
    
    ";
    	  	if ($dataNas != 0)
    			{
    		 	echo "la tua data di nascita &egrave <input type=\"text\" name=\"dataNas\" value=\"{$dataNas}\" />";
    			}
    	  	else
    			echo "la tua data di nascita &egrave <input type=\"text\" name=\"dataNas\" value=\"yyyy-mm-dd\" />";
    	  echo "</p>
    	  	
    
    
    	     	<span class=\"form\"><h4>Luogo di nascita</h4></span>
    	     	<input type=\"text\" name=\"luogoNas\" value=\"$luogoNas\" />
    	 	 </p>
    	  	
    
    
    	     	<span class=\"form\"><h4>Indirizzo</h4></span>
    
    	     	<input type=\"text\" name=\"indirizzo\" value=\"$indirizzo\" />
    	  	</p>
    	  	
    
    
    
    	     	<span class=\"form\">Telefono</span>
    
    
    	     	<input type=\"text\" value=\"{$telefono}\" name=\"telefono\" />
    
    	  	</p>
    	  	
    
    
    	     	 <span class=\"form\"><h4>Email</h4>
    
    	         <input type=\"text\" name=\"mail\" value=\"$mail\" />
    	  	</p>
    	  	
    
    
    
    	     	<span class=\"form\">Password (almeno 8 caratteri)</span>
    
    
    	     	<input type=\"password\" name=\"password\" />
    
    	  	</p>
    
    	  	
    
    
    
    	     	<span class=\"form\">Password conferma</span>
    
    
       	     	<input type=\"password\" name=\"password_conf\" />
    
     		</p>
    
       	  	
    
    
    
    	    	 <input type=\"submit\" name=\"registrazione\" value=\"Registrazione\" />
    
    	  	</p>
    
                </form>";
    	}
    if (isset($_POST["registrazione"]))
    	{
    	//creo una funzione che controlla se la data è in formato corretto
    	function controlla_validita_data($parametro)
    		{
    		 $anno =   substr($parametro,0,4);
    	 	$mese =   substr($parametro,5,2);
    	 	$giorno = substr($parametro,8,2);
    	 	return checkdate($mese, $giorno, $anno);
    		}
    	# funzione per verificare se una query (passata come parametro) è presente nel database
    	function guarda_se_c_e($parametro){
    	 	if (mysql_num_rows($parametro)>=1)
    	 	return 1;
    		}	
    	# creo tante variabili per quanti sono i parametri inviati, in modo da salvarli se c'è qualche errore
    	$var_nome               = ucwords(ltrim(rtrim(strip_tags($_POST["nome"]))));
    	$var_cognome		= ucwords(ltrim(rtrim(strip_tags($_POST["cognome"]))));
    	$var_dataNas		= ltrim(rtrim(strip_tags($_POST["dataNas"])));
    	$var_luogoNas		= ucwords(ltrim(rtrim(strip_tags($_POST["luogoNas"]))));
    	$var_indirizzo		= ltrim(rtrim(strip_tags($_POST["indirizzo"])));
    	$var_mail		= ltrim(rtrim(strip_tags($_POST["mail"])));
    	$var_telefono		= ltrim(rtrim(strip_tags($_POST["telefono"])));
    	$var_password		= ltrim(rtrim(strip_tags($_POST["password"])));
    	$var_password_conf	= ltrim(rtrim(strip_tags($_POST["password_conf"])));
    	// creo una query che quando ho sottomesso la form registrazione mi guardi sul DB se esiste già un utente con la mail =$var_mail
    	$query_controlla_se_la_mail_esiste_gia = mysql_query("
    	SELECT * 
    	FROM utenti
    	WHERE utenti_email= '$var_mail'
    	LIMIT 1
    	");
    	// se le variabili var sono vuote o se la data non corrisponde o se la mail non corrisponde al pattern stampi un messaggio di errore
    	//è necessario riempire i campi
    	// la mail inserita non è valida
    	// la mail inserita è già esistente
    	//password non corretta
    	//else inserisci tutti i valori nel DB
    	if   (  empty($var_nome) ||
    			empty($var_cognome) ||
    		empty($var_dataNas) ||
    		!controlla_validita_data($var_dataNas) ||
    		empty($var_luogoNas) ||
    		empty($var_indirizzo) ||
    		empty($var_telefono) ||
    		empty($var_mail) ||
    		!guarda_se_c_e($query_controlla_se_la_mail_esiste_gia) ||
    		$var_password != $var_password_conf  ||
    		strlen($var_password) <=7 ||
    		empty($var_password) ||
    		empty($var_password_conf)
          	     )
    	      {
    	 	echo '<div id="allarme">Hai fatto i seguenti errori
    			<ul>';
    	 	if (empty($var_nome) || empty($var_cognome) || empty($var_dataNas) || empty($var_luogoNas) || empty($var_indirizzo) || empty($var_mail) ||
    	      	 	empty($var_password) || empty($var_password_conf))
    		 	echo '[*]non hai inserito tutti i valori';
    		if (!controlla_validita_data($var_dataNas))
    
    				echo "[*]La data inserita non è valida";
    
    			else if(function_check($sql_check_mail))
    
    				echo "[*]La email inserita è già esistente";
    		 if (guarda_se_c_e($query_controlla_se_la_mail_esiste_gia))
    			 echo '[*]l\'email inserita è già esistente';
    	 	else if ($var_password != $var_password_conf || strlen($var_password) <=7)
    			 echo '[*]la password inserita non è corretta
    			[/list]
    	     	 </div>';
    		stampa_form($var_nome, $var_cognome, $var_dataNas, $var_luogoNas, $var_indirizzo, $var_mail);
    	       }
    	else
    		{
    	 	$query_inserisci_nuovo_utente = mysql_query("
    	 	INSERT INTO utenti (
    	 	utenti_nome,
    		 utenti_cognome,
    		 utenti_data_nascita,
    	 	utenti_luogo_nascita,
    
    	 	utenti_indirizzo,
    
    	 	utenti_telefono,
    
    	 	utenti_password,
    
    	 	utenti_approvazione,
    
    		 utenti_amministratore,
    
    	 	utenti_email
    
    	 	)
    	 	VALUES (
     		'$var_nome',
    		'$var_cognome',
    	 	'$var_dataNas',
    	 	'$var_luogoNas',
    	 	'$var_indirizzo',
    	 	'$var_telefono',
    	 	'$var_password',
    	 	'2',
    	 	'2',
    	 	'$var_mail'
    	 	)
    		");
    		 echo "complimenti, registrazione effettuata con successo";
    		}
    }	
    else
    	 stampa_form("", "", "", "", "", "", "");
    print '<div class="normal">Prima di poter accedere al sito l\'amministratore dovr&agrave approvare la tua iscrizione</div>';
    ?>

  2. #2
    non e' che si puo' leggere tutto lo script.. di certo hai una apparente incongruenza:

    $parametro pare contenga una data e tu lo passi come parametro a mysql_num_rows mentre questo si aspetta di ricevere un resource id number

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

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.