Avatar billede Thomasrn Seniormester
08. august 2019 - 02:21 Der er 2 kommentarer og
2 løsninger

giv en specifik spiller et ny holdid

har lavet en if sætning:
if ($holdid == 0)
og vil gerne have hvis den passer som den gør pt. (fordi alle spiller har 0 i holdid)
så vil jeg gerne have at den erstatter 0 med userid altså bruger der er ind på den side i får lige koden her giver måske lidt mere mening
<html>
<head>
  <title>Database</title>
  <link href="css/opretspiller2.css" rel="stylesheet" type="text/css">
  <meta charset="utf-8">
</head>
<body>
    <div class="container">
  <?php
  include("header.php");
  include("app.php");
  $app = new minAwesomeApp;
  $app->ErDuLoggetPaa();

$sid = $_GET['sid'];
$holdid = $_GET['holdid'];
echo $sid;
echo $holdid;
$userid = $app->userData['userId'];
if ($holdid == 0){
"UPDATE spillere SET $holdid=$userid";
}
?>

så det er  efter if ($holdid == 0) jeg ikke ved hvad man skriver for at erstatte 0 med userid
Avatar billede Slater Ekspert
08. august 2019 - 09:13 #1
Du har den næsten, som jeg ser det. Der er bare et dollartegn for meget ($holdid i SQL'en skal bare være holdid, for det er ikke en PHP-variabel), og så skal du fortælle SQL'en hvilken spiller det er der skal ændres.

Hvis jeg kan antage at $sid er spillerid, og at der er en id-kolonne i spillere-tabellen, så bliver det noget i stil med "update spillere set holdid=$userid where id=$sid"

Husk dog at denne måde åbner det for SQL injections, da du sætter data der kan ændres direkte ind i en SQL-sætning. Det skal enten saniteres eller parameteriseres. At sanitere her er dog nemt da begge er tal, så man kan bare sige
$sid = (int)$_GET['sid']; og $holdid = (int)$_GET['holdid'];
Dette er sikkert, men problemet ved denne metode er at man kan glemme det fremover. Bedre altid at bruge parametre.
Avatar billede michael_stim Ekspert
08. august 2019 - 09:15 #2
Denne:

UPDATE spillere SET $holdid=$userid

Skal nok være:

UPDATE spillere SET holdid=$userid

Ellers står der jo:

UPDATE spillere SET 0=7  //Hvis nu userid er 7
Avatar billede Thomasrn Seniormester
08. august 2019 - 14:30 #3
Har ændret den til:

if ($holdid == 0){
"UPDATE spillere SET holdid=$userid WHERE id=$sid";
echo "hej";
}

Har lavet en echo hej for at se om den printer det og gør den hver gang men den ændre ikke mit holdid til userid i databasen kan i se om der er noget jeg har skrevet forkert
Avatar billede michael_stim Ekspert
08. august 2019 - 14:42 #4
Men eksekverer du din UPDATE nogle steder? Som det er nu er det bare en tekst. Hverken variabel eller databasekommando.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester