FobiaSociale.com  
     

Home Messaggi odierni Registrazione FAQ
 
Vai indietro   FobiaSociale.com > Off Topic > Off Topic Generale > Qualcuno che se ne intende di PHP e MySQL?
Discussione: Qualcuno che se ne intende di PHP e MySQL? Rispondi alla discussione
Il tuo nome utente: Clicca Qui per loggarti
Titolo:
  
Messaggio:

Opzioni addizionali
Opzioni varie

Visualizza l'argomento(prima i nuovi)
15-05-2012 19:32
Halastor
Re: Qualcuno che se ne intende di PHP e MySQL?

Per il semplice fatto che cercando un sistema di login così l'ho trovato spiegato così saran pure articoli vecchi.... ne traggo dei vantaggi sostanziali dall'usarla? Altrimenti non sto a riscrivere tutto...basta che funga..
15-05-2012 18:33
barclay
Re: Qualcuno che se ne intende di PHP e MySQL?

Sono d'accordo con Moonwatcher.

Ma perché non usi la classe mysqli?
15-05-2012 18:32
Halastor
Re: Qualcuno che se ne intende di PHP e MySQL?

Oki provo e vi dico
No.. mi occupo di tutt'altro ma devo implementare in un mio sito un sistema semplice di login e registrazione.. per fortuna ho il vostro immenso sapere dalla mia parte

p.s per i 50 euro.. ehmm

p.p.s Funziona! Alleluia! Grazie
Avrò sicuramente altri problemi di cui vi terrò aggiornati ^^
15-05-2012 18:10
passenger
Re: Qualcuno che se ne intende di PHP e MySQL?

Quote:
Originariamente inviata da Moonwatcher Visualizza il messaggio
A me pare semplicemente che la if sia fatta al contrario.
In effetti...
15-05-2012 18:08
passenger
Re: Qualcuno che se ne intende di PHP e MySQL?

Non so se questo possa esserti utile (nel caso, mi ripagherai in natura... ):

Quote:
Return Values

For SELECT, SHOW, DESCRIBE, EXPLAIN and other statements returning resultset, mysql_query() returns a resource on success, or FALSE on error.

For other type of SQL statements, INSERT, UPDATE, DELETE, DROP, etc, mysql_query() returns TRUE on success or FALSE on error.

The returned result resource should be passed to mysql_fetch_array(), and other functions for dealing with result tables, to access the returned data.

Use mysql_num_rows() to find out how many rows were returned for a SELECT statement or mysql_affected_rows() to find out how many rows were affected by a DELETE, INSERT, REPLACE, or UPDATE statement.

mysql_query() will also fail and return FALSE if the user does not have permission to access the table(s) referenced by the query.
Ho evidenziato le parti di tuo interesse, siccome devi fare una INSERT. Ma scusa comunque mysql_query() ti restituisce già un booleano, dunque che bisogno hai di fare un confronto?

Come in questi esempi:

Codice PHP:
<?php
$result 
mysql_query('SELECT * WHERE 1=1');
if (!
$result) {
    die(
'Invalid query: ' mysql_error());
}

?>
Codice PHP:
<?php
// This could be supplied by a user, for example
$firstname 'fred';
$lastname  'fox';

// Formulate Query
// This is the best way to perform an SQL query
// For more examples, see mysql_real_escape_string()
$query sprintf("SELECT firstname, lastname, address, age FROM friends 
    WHERE firstname='%s' AND lastname='%s'"
,
    
mysql_real_escape_string($firstname),
    
mysql_real_escape_string($lastname));

// Perform Query
$result mysql_query($query);

// Check result
// This shows the actual query sent to MySQL, and the error. Useful for debugging.
if (!$result) {
    
$message  'Invalid query: ' mysql_error() . "\n";
    
$message .= 'Whole query: ' $query;
    die(
$message);
}

// Use result
// Attempting to print $result won't allow access to information in the resource
// One of the mysql result functions must be used
// See also mysql_result(), mysql_fetch_array(), mysql_fetch_row(), etc.
while ($row mysql_fetch_assoc($result)) {
    echo 
$row['firstname'];
    echo 
$row['lastname'];
    echo 
$row['address'];
    echo 
$row['age'];
}

// Free the resources associated with the result set
// This is done automatically at the end of the script
mysql_free_result($result);
?>
consiglierei di testare direttamente la variabile result.



P.S.: ma sei anche tu un informatico???
15-05-2012 18:07
Moonwatcher
Re: Qualcuno che se ne intende di PHP e MySQL?

Prova a sostituire:

Codice PHP:
if($result==1
con:

Codice PHP:
if(!$result
A me pare semplicemente che la if sia fatta al contrario.

-edit- fanno 50 €, per la consulenza
15-05-2012 17:55
Halastor
Qualcuno che se ne intende di PHP e MySQL?

C'è percaso qualcuno che si intende e può aiutarmi a capire dove sta l'errore? Ho questo script che si riferisce ad un form di registrazione su una pagina web, se inserisco i dati nel form.. si connette al database e li registra tutti quanti correttamente nella mia tabella e il server mi manda la mail con i dati.. quindi tutto come dovrebbe essere. La cosa che non va però è quel $result=mysql_query che ritorna sempre 1 per qualche losco motivo. Non so come fare il controllo se i dati sono stati scritti sul database e quindi mi da sempre errore nella registrazione anche la dove non dovrebbe.. dato che i dati li registra.

Codice PHP:
<?php



$nomehost 
"MIO NOME HOST";
$nomeuser "MIO NOME USER";
$password "MIA PASS";
$dbname"MIO NOME DB";
$connessione mysql_connect($nomehost,$nomeuser,$password); 

if(
$connessione==0){echo"Connessione fallita";} //controllare l esito della connessione
$database_select=mysql_select_db($dbname,$connessione);//selezione del database
if($database_select==0){echo"Selezione non riuscita";}


$nome trim(stripslashes($_POST['Nome']));
$cognome trim(stripslashes($_POST['Cognome']));
$email trim(stripslashes($_POST['Email']));


$città trim(stripslashes($_POST['Città']));
$via trim(stripslashes($_POST['Via']));
$indirizzo trim(stripslashes($_POST['Indirizzo']));
$prov trim(stripslashes($_POST['Provincia']));
$cap trim(stripslashes($_POST['Cap']));



$query="INSERT INTO `db2135889_utenti`.`utenti` (
`nome` ,
`cognome` ,
`email` ,
`città` ,
`via` ,
`indirizzo` ,
`provincia` ,
`cap`
)
VALUES (
'
$nome', '$cognome', '$email', '$città', '$via', '$indirizzo', '$prov', '$cap'
)"
;

// QUESTA E' LA PARTE CHE NON VA

$result=mysql_query($query,$connessione); // result ci serve x fare il controllo
if($result==1)
{
die(
"Errore nella registrazione.");
}
else 
{
header("location:index.php");
}





$your_email "mia mail";
$thankyou "index.html";
$subject "blabla";





    
// send the email

    
mail($your_email"blabla""Nome:*$nome* | Cognome:*$cognome* | Città:*$città* | Provincia:*$prov* | Indirizzo:*$via $indirizzo* | CAP:*$cap* ""Ricevuto da: *$email*");

    
// go to return URL
    
if (isset($thankyou)) {
    
header("Location: $thankyou");

exit();
    }




?>



Tutti gli orari sono GMT +2. Attualmente sono le 12:41.
Powered by vBulletin versione 3.8.8
Copyright ©: 2000 - 2025, Jelsoft Enterprises Ltd.