FobiaSociale.com  
     

Home Messaggi odierni Registrazione FAQ
 
Vai indietro   FobiaSociale.com > Off Topic > Off Topic Generale
Rispondi
 
Vecchio 15-05-2012, 17:55   #1
Banned
 

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();
    }




?>
Vecchio 15-05-2012, 18:07   #2
Esperto
L'avatar di Moonwatcher
 

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
Vecchio 15-05-2012, 18:08   #3
Esperto
L'avatar di passenger
 

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???
Vecchio 15-05-2012, 18:10   #4
Esperto
L'avatar di passenger
 

Quote:
Originariamente inviata da Moonwatcher Visualizza il messaggio
A me pare semplicemente che la if sia fatta al contrario.
In effetti...
Vecchio 15-05-2012, 18:32   #5
Banned
 

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 ^^

Ultima modifica di Halastor; 15-05-2012 a 18:42.
Vecchio 15-05-2012, 18:33   #6
Esperto
L'avatar di barclay
 

Sono d'accordo con Moonwatcher.

Ma perché non usi la classe mysqli?
Vecchio 15-05-2012, 19:32   #7
Banned
 

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..
Rispondi


Discussioni simili a Qualcuno che se ne intende di PHP e MySQL?
Discussione Ha iniziato questa discussione Forum Risposte Ultimo messaggio
ma io...posso amare qualcuno/essere amato da qualcuno? cancellato2369 Amore e Amicizia 23 25-11-2009 15:03
Se qualcuno.... Sono io SocioFobia Forum Generale 16 17-08-2009 00:23
c'è qualcuno ke icek SocioFobia Forum Generale 19 19-03-2009 01:59
c'è qualcuno... icek Amore e Amicizia 2 12-02-2008 18:32
C'è qualcuno... bardamu Contatti 0 07-07-2007 16:18



Tutti gli orari sono GMT +2. Attualmente sono le 09:33.
Powered by vBulletin versione 3.8.8
Copyright ©: 2000 - 2024, Jelsoft Enterprises Ltd.
Powered by vBadvanced CMPS v3.2.2