Link per aggiungere dati in tabella?

hackersatifal

Utente Attivo
9 Ago 2012
238
0
0
Salve a tutti,
ho scritto un codice per inserire in una tabella di un database un dato, ma non mi visualizza alcun link o errore. Mi aiutereste a capire il perché e ad aggiustare il codice?
Eccolo qui:
PHP:
<?php                            
require_once('connessione.php');
$recuperadati = mysql_query("SELECT * FROM amici WHERE username_proprietario= '".$_SESSION['utente']."'"); 
                                  
                                $verificadati = mysql_num_rows($recuperadati);  
                                if($verificadati == 1){  
                                echo ""; 
                                     
                                    } else {  
                                 
                                    echo "<a class='amici' href=\"?id=".$_GET['id']."\" onclick=\"return(confirm('Sei sicuro di voler inoltrare questa richiesta di amicizia? Clicca su Ok se s&igrave, mentre su Annulla se no!'))\"></a>"; 

$inviamicitemp = mysql_query("INSERT INTO amici_temp (username_proprietario, username_amico) VALUES ('".$_SESSION['utente']."', '".$_GET['id']."')"); 
                                    }  
                              
                        
?>

Grazie a tutti in anticipo per il vostro aiuto,
hackersatifal.:)
 
ciao
sei sicuro che debbe essere così
if($verificadati == 1){
in questo caso se l'utente esiste non ti stampa nulla, (echo "") se non esiste ti da il link ecc..
secondo me, se ho capito cosa devi fare, dovrebbe essere il contrario
if($verificadati == 0){
 
ciao
sei sicuro che debbe essere così
if($verificadati == 1){
in questo caso se l'utente esiste non ti stampa nulla, (echo "") se non esiste ti da il link ecc..
secondo me, se ho capito cosa devi fare, dovrebbe essere il contrario
if($verificadati == 0){

No, è proprio 'in questo caso se l'utente esiste non ti stampa nulla, (echo "") se non esiste ti da il link ecc..'
 
ciao
prova un questo modo
PHP:
<?php                            
require_once('connessione.php');
if(isset($_GET['id'])){
	$inviamicitemp = mysql_query("INSERT INTO amici_temp (username_proprietario, username_amico) VALUES ('".$_SESSION['utente']."', '".$_GET['id']."')"); 
}
$recuperadati = mysql_query("SELECT * FROM amici WHERE username_proprietario= '".$_SESSION['utente']."'"); 
$verificadati = mysql_num_rows($recuperadati);  
if($verificadati == 1){  
	echo ""; 
} else {  
	echo "<a class='amici' href=\"?id=".$_GET['id']."\" onclick=\"return(confirm('Sei sicuro di voler inoltrare questa richiesta di amicizia? Clicca su Ok se s&igrave, mentre su Annulla se no!'))\"></a>";  
}  
?>

p.s.
vedo che usi le sessioni hai messo session_start()?
 
ciao
prova un questo modo
PHP:
<?php                            
require_once('connessione.php');
if(isset($_GET['id'])){
	$inviamicitemp = mysql_query("INSERT INTO amici_temp (username_proprietario, username_amico) VALUES ('".$_SESSION['utente']."', '".$_GET['id']."')"); 
}
$recuperadati = mysql_query("SELECT * FROM amici WHERE username_proprietario= '".$_SESSION['utente']."'"); 
$verificadati = mysql_num_rows($recuperadati);  
if($verificadati == 1){  
	echo ""; 
} else {  
	echo "<a class='amici' href=\"?id=".$_GET['id']."\" onclick=\"return(confirm('Sei sicuro di voler inoltrare questa richiesta di amicizia? Clicca su Ok se s&igrave, mentre su Annulla se no!'))\"></a>";  
}  
?>

p.s.
vedo che usi le sessioni hai messo session_start()?

Non inserisce nulla nemmeno ora nel database.

P.S. Comunque la starto la sessione.:)
 
ciao
allora prima dividi la query, metti due var_dump e verifichi che la query venga scritta come si deve
PHP:
<?php                            
require_once('connessione.php');
if(isset($_GET['id'])){
	$q="INSERT INTO amici_temp (username_proprietario, username_amico) VALUES ('".$_SESSION['utente']."', '".$_GET['id']."')";
	var_dump($q);
    $inviamicitemp = mysql_query($q);
	var_dump($inviamicitemp);
}
//..ecc...
?>
il primo var_dump dovrebbe restituirti qualcosa del genere, se nella sessione e nel get hai degli username
string (nn) "INSERT INTO amici_temp (username_proprietario, username_amico) VALUES ('pinco pallo', 'sempronio')"
il secondo se ok resuorce... , se ko bool(false)
sappimi dire
 
ciao
allora prima dividi la query, metti due var_dump e verifichi che la query venga scritta come si deve
PHP:
<?php                            
require_once('connessione.php');
if(isset($_GET['id'])){
	$q="INSERT INTO amici_temp (username_proprietario, username_amico) VALUES ('".$_SESSION['utente']."', '".$_GET['id']."')";
	var_dump($q);
    $inviamicitemp = mysql_query($q);
	var_dump($inviamicitemp);
}
//..ecc...
?>
il primo var_dump dovrebbe restituirti qualcosa del genere, se nella sessione e nel get hai degli username
string (nn) "INSERT INTO amici_temp (username_proprietario, username_amico) VALUES ('pinco pallo', 'sempronio')"
il secondo se ok resuorce... , se ko bool(false)
sappimi dire

Mi dà string (nn) "INSERT INTO amici_temp (username_proprietario, username_amico) VALUES ('pinco pallo', 'sempronio')" bool(false), come mai?;)
 
ciao
evidentemente hai un errore o nei nomi o nella connessione.
verifica esattamente i nomi dei campi e tabella, devono essere uguali comprese maiuscole/minuscole ai nomi che hai nella query.
poi verifica se si connette e selezione il db giusto
immagino che in connessione.php tu abbbia i dati per la connessione se non li hai messi metti or die mysql_error

PHP:
$conn = mysql_connect($host,$username,$password) or die (mysql_error());
$sel = mysql_select_db($db) or die (mysql_error());

e verifica che non ti dia errore.
eventualmente se non risolvi posta il dump della tabella
 
ciao
evidentemente hai un errore o nei nomi o nella connessione.
verifica esattamente i nomi dei campi e tabella, devono essere uguali comprese maiuscole/minuscole ai nomi che hai nella query.
poi verifica se si connette e selezione il db giusto
immagino che in connessione.php tu abbbia i dati per la connessione se non li hai messi metti or die mysql_error

PHP:
$conn = mysql_connect($host,$username,$password) or die (mysql_error());
$sel = mysql_select_db($db) or die (mysql_error());

e verifica che non ti dia errore.
eventualmente se non risolvi posta il dump della tabella

Ho risolto: avevo scambiato i campi della tabella con quelli di un'altra. Ora ho aggiustato tutto e funziona.
 
Tutto risolto l'if del verificadati doveva essere > 0.
Grazie ancora per il tuo aiuto.;)

Ora mi sono accorto che anche quando aggiorno la pagina e non mi mostra la scritta di aggiungere agli amici, perché già aggiunto, mi inserisce il dato nel database, come mai?:confused:

Ecco il codice finito:

PHP:
<?php
require_once('connessione.php'); 
if(isset($_GET['id'])){ 
    $inviamicitemp = mysql_query("INSERT INTO amici_temp (username_proprietario, username_amico) VALUES ('".$_SESSION['utente']."', '".$_GET['id']."')");  
} 
$recuperadati = mysql_query("SELECT * FROM amici WHERE username_proprietario= '".$_SESSION['utente']."'");  
$verificadati = mysql_num_rows($recuperadati);   
if($verificadati > 0){   
    echo "";  
} else {   
    echo "<a class='amici' href=\"?id=".$_GET['id']."\" onclick=\"return(confirm('Sei sicuro di voler inoltrare questa richiesta di amicizia? Clicca su Ok se s&igrave, mentre su Annulla se no!'))\"></a>";   
} 
?>
 
Ultima modifica:

Discussioni simili