Column 'username_proprietario' in where clause is ambiguous


Mi sono perso, adesso non so cosa dirti, forse stiamo parlando di un problema diverso.
Comunque quando salvi dei dati, prova a ricavarti l'id e non salvare nomi come la username.
Hai un indirizzo dove vedere delle pagine e dire in quale pagina hai l'intoppo
Ciao
 

Mi sono perso, adesso non so cosa dirti, forse stiamo parlando di un problema diverso.
Comunque quando salvi dei dati, prova a ricavarti l'id e non salvare nomi come la username.
Hai un indirizzo dove vedere delle pagine e dire in quale pagina hai l'intoppo
Ciao

No, lavoro in locale.
 
Lo script del penultimo post di criric non funziona: non so perché, ma cliccando sul link nemmeno aggiunge il dato in tabella
forse non lo aggiunge perche è gia presente
il primo problema del link è stato risolto?
Puoi ripostarlo come l'hai modificato?
 
forse non lo aggiunge perche è gia presente
il primo problema del link è stato risolto?
Puoi ripostarlo come l'hai modificato?
Ho notato che tu nel codice scrivevi user&insert e pensavi che io avessi due variabili user che potessero confondere il php, ma non era così quindi ho modificato lo script come serviva a me:
PHP:
<?php 
if (!isset($_SESSION)) { 
    session_start(); 
} 
if (!isset($_SESSION['utente'])) { 
    header("location: login2.php?azione=login"); 
    exit(); 
} 
?>   
<!-- tralascio l'html -->     
<?php 
require_once "connessione.php"; 
if (isset($_GET['user'])) { 
    $query = "SELECT * FROM amici_temp  
                   WHERE username_proprietario = '" . $_SESSION['utente'] . "'  
                         && username_amico = '" . $_GET['user'] . "'"; 
    $result = mysql_query($query) or die(mysql_error()); 
    if (mysql_num_rows($result) == 0) { 
        $q = "INSERT INTO amici_temp (username_proprietario, username_amico)  
                 VALUES ('" . $_SESSION['utente'] . "', '" . $_GET['user'] . "')"; 
        $query = mysql_query($q); 
        $inviautente = mysql_query($query) or die(mysql_error()); 
        header("Refresh: 1; URL= profile2.php?id={$_SESSION['utente']}"); 
    } 
} 
$query = "SELECT * FROM amici  
                   WHERE username_proprietario = '" . $_SESSION['utente'] . "'  
                         && username_amico = '" . $_GET['id'] . "'"; 
$result = mysql_query($query) or die(mysql_error()); 
if (mysql_num_rows($result) == 0) { 
    echo "<a href=\"?user=" . $_GET['id'] . "\" onclick=\"return(confirm('Sei sicuro di voler inoltrare la richiesta di amicizia?'))\">Aggiungi agli amici!</a>"; 
} else { 
    echo ""; 
} 
?>

Ma ogni volta che si aggiorna la pagina o la si carica per la prima volta aggiunge comunque i dati nel database, come mai?
Grazie ancora per il tuo aiuto:D
 
come la richiami questa pagina?

Allora:
ho una pagina che si chiama result_search2.php?id=nomeutente, questa pagina deriva da un form di ricerca che passa correttamente l'id. In questa pagina result_search2.php ci sono diversi iframe, uno dei quali è quello che contiene questo script. Ecco tutto.
Spero di essere stato chiaro.
 
no non mi è chiaro
è un form che richiama la pagina result_search2.php?
o un link?

puoi postare il richiamo

in ogni caso secondo me i dati non gli arrivano nel modo corretto
 
no non mi è chiaro
è un form che richiama la pagina result_search2.php?
o un link?

puoi postare il richiamo

in ogni caso secondo me i dati non gli arrivano nel modo corretto

C'è un form di ricerca che ti stampa, una volta effettuata la ricerca, un link alla pagina result_search2.php con il nome dell'utente cercato. Comunque ecco il codice del form di ricerca:
PHP:
<?php 
            if(!isset($_POST['cerca'])){ ?> 
             
                <form method="post" action="#" id="formricerca" style="alignment-adjust:central"> 
                     
                    <input type="text" name="username" id="username" style="margin-bottom:5%; width:65%; height:9%; font-size:120%; border:1px solid black"; placeholder="Cerca una persona qui"/> 
                    <input type="submit" name="cerca" id="cerca" value="Cerca" style="width:20%; height:9%; color:black; background-color:white; border:1px solid black; font-family:'Palatino Linotype', 'Book Antiqua', Palatino, serif; font-size:110%; margin-bottom:5%"/> 
                </form>         
    <?php    } else { 
                                 
                        $username = mysql_real_escape_string($_POST['username']); 
                        if($username == ""){ 
                     
                        echo "Attenzione, devi compilare tutti i campi"; 
                     
                        } else { 
                         
                        $recuperadati = mysql_query("SELECT * FROM utenti WHERE username= '$username'"); 
                                  
                                $verificadati = mysql_num_rows($recuperadati);  
                                  $risultato = ucwords($username);
$risultato2 = strtolower($risultato);

                                if($verificadati == 1){  
                                echo "<a href='result_search2.php?id=".$risultato2."' class='username'>$risultato</a>"; 
                                     
                                    } else {  
                                  
                                    echo "<p class='noresult'>Nessun risultato trovato! Aggiorna la pagina per eseguire una nuova ricerca.</p>";  
                                    }  
                              
                            }  
                          
                        }  
                      
?>
 
se ti fa la insert come arrivi vuol dire che $_GET['user'] è settato altrimenti non puo entrare in quella condizione
metti un var_dump() prima e vediamo cosa esce
PHP:
var_dump($_REQUEST);
if (isset($_GET['user'])) {
 
se ti fa la insert come arrivi vuol dire che $_GET['user'] è settato altrimenti non puo entrare in quella condizione
metti un var_dump() prima e vediamo cosa esce
PHP:
var_dump($_REQUEST);
if (isset($_GET['user'])) {

Ecco quello che viene fuori:array(3) { ["id"]=> string(4) "ciao (è un username di prova)" ["__cfduid"]=> string(43) "d2c6b90c3e53ea36f8247c25078e6669e1344764386" ["PHPSESSID"]=> string(26) "amf6le844909jeuut63f5ulnj6" }
 
allora non capisco perche non dovrebbe funzionare

prova a stampare tutte e tre le query

PHP:
echo $query;
 
allora non capisco perche non dovrebbe funzionare

prova a stampare tutte e tre le query

PHP:
echo $query;

Il problema non è che non funziona, bensì che ogni volta che aggiorno la pagina result_search2.php mi inserisce i dati username_proprietario e username_amico all'interno del database, senza che io clicchi sul link 'Aggiungi agli amici!'. Spero di essere stato abbastanza chiaro :)
 
si mi riferivo a quello
ma se mi confermi che nell indirizzo non c'è ?user=pincopallo e comunque esegue lo stesso quello che c'è dentro questa condizione
PHP:
if (isset($_GET['user'])) {

}
non so cosa pensare
 
si mi riferivo a quello
ma se mi confermi che nell indirizzo non c'è ?user=pincopallo e comunque esegue lo stesso quello che c'è dentro questa condizione
PHP:
if (isset($_GET['user'])) {

}
non so cosa pensare

Quindi non c'è modo di risolvere la situazione?
Nemmeno se riscriviamo il codice insieme?
 
Ispezionando l'elemento con google chrome ho notato che l'iframe ha l'URL con ?id=... mentre dalla sorgente dell'iframe nell'url spunta ?user=..., come mai?

Credo di aver capito il problema: bacheca_visualizza5.php ha già qualcosa dopo il ? quindi, quando gli chiedo di aprire l'alert con ?user=... lui è come se si confondesse con ?id=... come posso risolvere quindi la situazione?
Grazie ancora criric :D
 
riprova aggiungendo il parametro insert nel link "aggiungi agli amici" e nella condizione, senza cambiare altro
PHP:
<?php
require_once "connessione.php";
if (isset($_GET['user']) && isset($_GET['insert'])) {
    $query = "SELECT * FROM amici_temp  
                   WHERE username_proprietario = '" . $_SESSION['utente'] . "'  
                         && username_amico = '" . $_GET['user'] . "'";
    $result = mysql_query($query) or die(mysql_error());
    if (mysql_num_rows($result) == 0) {
        $q = "INSERT INTO amici_temp (username_proprietario, username_amico)  
                 VALUES ('" . $_SESSION['utente'] . "', '" . $_GET['user'] . "')";
        $query = mysql_query($q);
        $inviautente = mysql_query($query) or die(mysql_error());
        header("Refresh: 1; URL= profile2.php?id={$_SESSION['utente']}");
    }
}
$query = "SELECT * FROM amici  
                   WHERE username_proprietario = '" . $_SESSION['utente'] . "'  
                         && username_amico = '" . $_GET['id'] . "'";
$result = mysql_query($query) or die(mysql_error());
if (mysql_num_rows($result) == 0) {
    echo "<a href=\"?insert&user=" . $_GET['id'] . "\" onclick=\"return(confirm('Sei sicuro di voler inoltrare la richiesta di amicizia?'))\">Aggiungi agli amici!</a>";
} else {
    echo "";
}
?>
 
riprova aggiungendo il parametro insert nel link "aggiungi agli amici" e nella condizione, senza cambiare altro
PHP:
<?php
require_once "connessione.php";
if (isset($_GET['user']) && isset($_GET['insert'])) {
    $query = "SELECT * FROM amici_temp  
                   WHERE username_proprietario = '" . $_SESSION['utente'] . "'  
                         && username_amico = '" . $_GET['user'] . "'";
    $result = mysql_query($query) or die(mysql_error());
    if (mysql_num_rows($result) == 0) {
        $q = "INSERT INTO amici_temp (username_proprietario, username_amico)  
                 VALUES ('" . $_SESSION['utente'] . "', '" . $_GET['user'] . "')";
        $query = mysql_query($q);
        $inviautente = mysql_query($query) or die(mysql_error());
        header("Refresh: 1; URL= profile2.php?id={$_SESSION['utente']}");
    }
}
$query = "SELECT * FROM amici  
                   WHERE username_proprietario = '" . $_SESSION['utente'] . "'  
                         && username_amico = '" . $_GET['id'] . "'";
$result = mysql_query($query) or die(mysql_error());
if (mysql_num_rows($result) == 0) {
    echo "<a href=\"?insert&user=" . $_GET['id'] . "\" onclick=\"return(confirm('Sei sicuro di voler inoltrare la richiesta di amicizia?'))\">Aggiungi agli amici!</a>";
} else {
    echo "";
}
?>

Ho appena provato ma la situazione è sempre la stessa: aggiornando la pagina result_search2.php mi ricarica il dato senza che io clicchi sul link 'Aggiungi agli amici!'.
 

Ciao, solo per curiosità, cambia questo dato e vediamo che succede, è solo una prova, quello che sto facendo non è corretto
PHP:
if (mysql_num_rows($result) == 1)
però prima azzera la tabella amici
 

Discussioni simili