Hämta med $get i en querystring (php)

Permalänk
Medlem

Hämta med $get i en querystring (php)

Har läst och sökt men inte hittat något som får mig att förstå, på phpsidan.nu så står det att man ska hämta namnet med vektorn $get i en querystring.
men det står inte hur man gör såklart

denna kod genereras av film.php

echo "<a href='popup.php?movie="; echo $row['Movie']; echo "' target='_blank'>";

dvs att den öppnar ett nytt fönster, popup.php och lägger till filmen man klickar på i adressfältet

php koden genererar denna URL

http://localhost/film/popup.php?movie=Armageddon

och vill att filmen "Armageddon" ska väljas i satsen

$result = mysql_query("SELECT * FROM movie") or die(mysql_error());

koden lär ju bli något sånt här:

$result = mysql_query("SELECT * FROM movie where movie=**variabel**") or die(mysql_error());

hur ska jag få namnet som blir tilllagt i adressfältet från första sidan att hamna som variabel?

Tack på förhand
Pontus

Permalänk

$_GET["movie"]

Permalänk

$_GET['movie']

Är att föredra.

Visa signatur
Permalänk
Medlem

$result = mysql_query("SELECT * FROM movie where movie=" . $_GET['movie'])or die(mysql_error());

För att göra det ännu tydligare

Visa signatur

System: CPU: AMD Ryzen 9 3900X, MB: Gigabyte X570 Aorus Elite, Minne: Corsair 32GB DDR4 3200MHz, GPU: Asus GeForce RTX 2080 Super ROG Strix Gaming OC

Permalänk
Citat:

Ursprungligen inskrivet av Tynnhammar

$_GET['movie']

Är att föredra.

Eller snarare:

mysql_real_escape_string($_GET['movie'])

Lita ALDRIG på input från användaren.

Visa signatur

RTFM - vacker sak att säga till folk som ställer dumma frågor

Permalänk
Medlem

Tack för den snabba hjälpen men det vill sig inte riktigt
Jag får det här felmeddelandet med den här strängen

fel: Unknown column 'Armageddon' in 'where clause'

sträng:

$result = mysql_query("SELECT * FROM movie where movie=" . $_GET['movie'])or die(mysql_error());

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av dontus
Tack för den snabba hjälpen men det vill sig inte riktigt
Jag får det här felmeddelandet med den här strängen

fel: Unknown column 'Armageddon' in 'where clause'

sträng:

$result = mysql_query("SELECT * FROM movie where movie=" . $_GET['movie'])or die(mysql_error());

Du måste omgärda strängar med apostrofer:

SELECT * FROM movie WHERE movie = 'Armageddon'

, så phpkoden får se ut typ såhär:

<?php $movie = mysql_real_escape_string($_GET['movie']; $query = sprintf("SELECT * FROM movie WHERE movie = '".$movie."'"; $result = mysql_query($query); ?>

Om du vill vara lite snajdig och slippa fucka upp SQL-strängen mer än nödvändigt kan du använda sprintf:

$query = sprintf("SELECT * FROM movie WHERE movie = '%s'", $movie);

Visa signatur

Brass knuckles and a 2x4

Permalänk
Medlem

tack ska ni ha nu funkar det klockrent

lite extra smink och optimering av kod sen ska jag nog vara nöjd

Permalänk
Medlem

lite off men angående " och ' var kan man läsa mer om det ?

lite svårt att söka på google på " '

Visa signatur

E6300 | Thermalright Ultra-120 eXtreme + Noctua 120mm 1200rpm | Gigabyte GA-965P-DS3 | 3GB Corsair XMS2-6400 CL5

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av sunkBurk
lite off men angående " och ' var kan man läsa mer om det ?

lite svårt att söka på google på " '

Gällande PHP hittar du mycket gott här: http://se2.php.net/string

Visa signatur

Brass knuckles and a 2x4

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av jonasc
Gällande PHP hittar du mycket gott här: http://se2.php.net/string

det var precis det jag sökte, tack

Visa signatur

E6300 | Thermalright Ultra-120 eXtreme + Noctua 120mm 1200rpm | Gigabyte GA-965P-DS3 | 3GB Corsair XMS2-6400 CL5

Permalänk
Medlem

Hur gör jag för att kunna lägga in den här i en ifsats?

<?php $gen = mysql_real_escape_string($_GET['genre']; $query = sprintf("SELECT * FROM movie WHERE genre = '".$genre."'"; $result = mysql_query($query); ?>

så här var det väl tänkt på ett ungefär:

$gen = mysql_real_escape_string($_GET['genre']); // har genre valts? if ($_GET['genre'] == "$gen") { $query = sprintf("SELECT * FROM movie WHERE genre LIKE '{$gen}'"); $result = mysql_query($query); }

Det som inte funkar då är att sidan vill inte visa alla filmer oberoende av genre

så hur får man in

$gen = mysql_real_escape_string($_GET['genre']);

i en ifsats?

funkar inte att bara lägga in iaf...

länken ser ut såhär:

<a href="?genre=action">Action</a> <a href="?genre=familj">Barn/Familj</a> <a href="?genre=drama">Drama</a> <a href="?genre=komedi">Komedi</a> <a href="?genre=krig">Krig</a>

tack på förhand