Hallo, ik heb een vraag ben bezig met een profiel systeem met een ticket systeem nou wil ik zeg maar data uit lezen van gebruiker plato en van de tickets in een aparte table de gegevens laten zien

maar mijn vraag is ben nou met een website bezig en heb een get method profiless.php?naam=plato&?tickets=plato
alleen probleem is hij geeft de naam wel weer in de mysql query alleen de header img niet iemand enige idee wat ik fout doe

<?php
    include_once("includes/config.php"); 
    if (isset($_GET['tickets']))
    {
        $ticket = $_GET['tickets'];
        $sql = "SELECT * FROM tickets WHERE gebruiker='$ticket'";
        
        $result = $conn->query($sql);
        
        if ($result->num_rows > 0) {
            
            if($row = $result->fetch_assoc()) { 
    
echo '<header class="content-header " style="background-image: url('.$row["ticket_header"].');">'; 
            }
        }
        else {
           echo "0 results";
        }
    }
?>      

en naam werkt wel gewoon

<?php
    include_once("includes/config.php"); 
    if (isset($_GET['naam']))
    {
        $firstname = $_GET['naam'];
        $sql = "SELECT * FROM users WHERE gebruiker='$firstname'";
        
        $result = $conn->query($sql);
        
        if ($result->num_rows > 0) {
            
            if($row = $result->fetch_assoc()) {
               
            }
           ?>
    <div class="l-content">
        
        <div class="container listing-info">
            <div class="listing-info--user">
    <img src="img/noavatarn.png" alt="Hendrik Hofstra">
    <div class="user"> 
    <?php echo '<h3>'.$row["gebruiker"].'</h3>'; ?>
 
  <?php echo '<div class="user-city">'.$row["plaats"].'</div>'; ?>
        
        <ul>
                            <li class="sold">
                    2 tickets verkocht                                    </li>
                                        <li class="phone" title="We hebben het mobiele nummer van de verkoper gecontroleerd">Telefoonnummer gecontroleerd</li>
                                        <li class="friends"> 
                                        <?php echo 'Facebook is gekoppeld <span>'.$row["vrienden"].' vrienden</span>'; ?>
                                    </li>
                    </ul>    
                  <?php
                    } 
        else { 
        }
    }
    ?>




iemand enige idee die mij kan helpen dankje wel
Eerst de boel ophalen en daarna tonen.

Zoiets :

<?php
include_once("includes/config.php");

$content_header = 'images/missing-ticket_header.jpg';

if (isset($_GET['tickets']))
{
	$ticket = $mysqli->real_escape_string($get);
	$get = $_GET['tickets'];
	$sql = "SELECT * FROM tickets WHERE gebruiker='$ticket'";
	$result = $conn->query($sql);
	if ($result->num_rows > 0)
	{
		if($row = $result->fetch_assoc())
		{
			$content_header = $row["ticket_header"]; // variabele met de afbeelding

			// kleurtjes laten zien
			echo "<pre>".print_r($row,true)."</pre>";
		}
	}
	else
	{
		echo "0 results";
	}
}
?>

<html>
<head>
<style>
* { padding:0;margin:0;}

.content-header {
    width:1900px;
    height:342px;
    background-image: url(<?php echo $content_header; ?>); 
    background-repeat: no-repeat;
    }
</style>
</head>

<body>

<header class="content-header">  

</body>

</html>


EDIT : Variable aangepast vanweges verwachte verwarring
@Adoptive Solutions:
En dan een variabele met een _ in plaats van een - ;-)
oke het is me nu gelukt nou is mijn vraag

een gebruiker maakt 2 tickets aan graspop en lowlands nou wil ik profiless.php?naam=plato&tickets=graspop
informatie afleest van de table tickets onder de naam plato maar als de gebruiker ook lowlands hebt gemaakt wil ik profiless.php?naam=plato&tickets=lowlands dat die database afleest van lowlands met de gebruiker plato hoe doe ik zo iets ?
Ik snap 'm even niet. Je doet:
SELECT * FROM tickets WHERE gebruiker='$ticket'
, waarbij $ticket de naam van het festival uit de URL is. Dat is dus niet de gebruiker.

En wat jij wil zou je normaal met een join doen. Ik zou dus meer iets verwachten ala:

select * from users u
  join tickets t on t.user_id = u.id and t.naam = '$ticket'
where u.naam = '$naam'

waarbij dat " and t.naam = '$ticket'" dan optioneel is. Laat je dat weg (omdat $ticket leeg is), dan krijg je alle "tickets".



dan zou ik het zo moeten doen


select * from users u
  join tickets t on t.id = u.id and t.titel = '$ticket'
where u.gebruiker = '$naam' 
Als je dubbele veldnamen hebt over twee tabellen, zal je query stuklopen omdat deze dubbelzinnig zijn, en dus ambigious.

Dan zou ik geen * gebruiken, maar de tabellen en velden benoemen, dus bijv.:

SELECT t.id, u.gebruiker FROM users u
  JOIN tickets t ON t.id = u.id AND t.titel = '$ticket'
WHERE u.gebruiker = '$naam' 


Als t.id refereert naar gebruiker.id, dan wel. Maar dat lijkt me niet logisch (ik zou eerder verwachten dat t.id het unieke ID van het ticket is).

Ah, ik zie het al, het is ticket.gebruiker, en dat is gewoon de gebruikersnaam. Dan wordt het:

select * from users u
  join tickets t on t.gebruiker = u.gebruiker and t.naam = '$ticket'
where u.gebruiker = '$naam'

Dit is allemaal geen denderende manier van een datamodel opzetten (normaal is het ID leidend om referenties op te bouwen).

Omdat je gebruikersnaam toch al volledig in de tickets tabel zit kun je ook gewoon:

select * from tickets where gebruiker = '$naam' and ticket_titel = '$ticket'

Waarbij $naam dan "plato" is, en $ticket "pinkpop 2019" (om je voorbeeld van 18:48 te tonen).
oke ik kan nou niet 2 gebruikers gebruiken om verschillende tickets te laten tonen hoe doe ik dat dan ?
en hoe zou ik het moeten opslaan
(normaal is het ID leidend om referenties op te bouwen). zoals dat


<?php
    include_once("includes/config.php");

    if (isset($_GET['tickets']))
    {
        $naam = $_GET['naam']; 
$ticket = $_GET['tickets'];

        $sql = "select * from tickets where gebruiker = '$naam' and ticket_titel = '$ticket'";
        
        $result = $conn->query($sql);
        
        if ($result->num_rows > 0) {
            
            if($row = $result->fetch_assoc()) {
               
            }
           ?> 

Dan gebruik je toch de ID nummers van de gebruikers in je ticket tabel?

Waarom pas je de beveiliging tegen SQL-injectie niet toe?
de id moet dan als zelfde wezen dus ik zou in de table tickets
gebruiker_id er bij moeten zetten of ?

[size=xsmall]Toevoeging op 23/06/2019 20:31:58:[/size]

de id code van user table is niet het zelfde als tickets id hoe kan die weten bij welke naam die hoort

Reageren