emtor Skrevet 11. mai 2007 Del Skrevet 11. mai 2007 Skriptet nedenfor søker etter et brukernavn i databasen og lager en klikkbar link som linker til siden: <profile.php> Jeg har opprettet noen brukernavn og tilhørende info i databasen, og i dette tilfellet søkes det etter en bruker med brukernavn= "username2" og id="4" echo "<fieldset><legend>Finn bruker:</legend> <form action=' ' method='GET'> <label><input type='text' name='q'>Brukernavn</label> <input type='submit' value='Søk' name='submit'> </form> </fieldset> "; if(isset($_GET['submit']) && !empty($_GET['q'])){ $inputUsername = $_GET['q']; $sql = "SELECT id, username FROM users WHERE username LIKE '$inputUsername'"; $result = mysql_query($sql); if(mysql_num_rows($result) != 0){ while($row = mysql_fetch_array($result)){ echo "<tr><td><a href='profile.php?id=$row[0]'>$row[1]</a></td></tr>"; } Som en liten test for å se om det funker har jeg lagt til echo $inputUsername; i søkeskriptet. Det funker bra,-echo returnerer username2 som forventet. Problemet er, at når jeg klikker på linken (username2) i søkeskriptet og havner på <profile.php>, så nytter det ikke å få ut brukernavnet ved hjelp av echo $inputUsername Det er noe som forteller meg at variabelen ikke er med over på siden <profile.php>, selv om adressefeltet i nettleseren inneholder følgende: http://localhost/imivc/profile.php?id=4 Som en sjekk har jeg lagt til print_r($_GET); på siden <profile.php> som returnerer dette: Array ( [id] => 4 ) Det jeg forsøker å få til er å gjøre mysql-spørringer på siden <profile.php> på basis av brukernavn/id (username2/id=4). Hva må til for at dette skal bli mulig? Lenke til kommentar
trrunde Skrevet 11. mai 2007 Del Skrevet 11. mai 2007 det er fordi du i linken ikke har lagt med $inputUsername prøv å bytt ut: echo "<tr><td><a href='profile.php?id=$row[0]'>$row[1]</a></td></tr>"; med: echo "<tr><td><a href='profile.php?id=$row[0]&inputUsername=$inputUsername'>$row[1]</a></td></tr>"; vil også påpeke at denne spørringen er utsatt for mysql injections, du bør bruke mysql_real_escape_string på alle spørringer som du tar i mot fra brukeren Lenke til kommentar
emtor Skrevet 11. mai 2007 Forfatter Del Skrevet 11. mai 2007 Takk skal du ha, forslaget ditt løste problemet. Ja, jeg vet at denne spørringen er en gullgruve for hackere, men det får jeg ta meg av senere. Lenke til kommentar
Crowly Skrevet 11. mai 2007 Del Skrevet 11. mai 2007 Hva med å bruke $_SESSION ? session_start(); //mer kode $_SESSION['inputusername'] = $_GET['q']; I profile.php så er det bare å henvise til $_SESSION['inputusername'], men husk å ha med session_start(); http://no2.php.net/manual/en/ref.session.php http://no2.php.net/manual/en/function.session-start.php Lenke til kommentar
Ståle Skrevet 11. mai 2007 Del Skrevet 11. mai 2007 du ma hente ut info pa nytt igjen i profil.php basert pa $_GET['id'] Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå