Avatar billede Thomasrn Seniormester
28. maj 2017 - 00:14 Der er 10 kommentarer

URL = hjemmeside/ID

hej jeg har lavet en funktion hvor jeg laver en spiller og når jeg opretter køre jeg noget kode som giver ham nogle tilfældig stats, land, position osv.
når jeg opretter ham hedder url  local/phplessons/spiller.php
vil gerne have den kommer til at hedde
localhost/phplessons/spiller.php?=$spillerid(Altså det id spilleren får)
vil bare vide hvordan jeg får spiller ID fremkaldt så jeg kan smide den op i url
ved koden er noglelunde det her
("Location: ../spiller.php?id=" . $_SESSION['id']);
Avatar billede jakobdo Ekspert
28. maj 2017 - 15:30 #1
Du har helt ret.

Når du har oprettet brugeren, så har du et "id", enten fra database, session eller noget andet.
Det id, skal du så smide med i:
$spiller_id = "database_insert_id eller session_id eller noget tredje";
header("Location: phplessons/spiller.php?=" . $spiller_id);
exit();
Avatar billede Thomasrn Seniormester
01. juni 2017 - 19:15 #2
hvis man har den i linket videre i
form action="opretspiller2"
kan man så god smide en id bag på og hvis ja hvordan?
Avatar billede jakobdo Ekspert
01. juni 2017 - 22:29 #3
Det jeg ville anbefale at gøre, var enten og smide "id" i session.
Alternativt:

<input type="hidden" name="spillerid" value="SPILLER_ID">

Så vil det sendes med, når man trykker "submit"
Avatar billede Thomasrn Seniormester
01. juni 2017 - 23:44 #4
har ikke helt styr på det der session men hvad vil du slette og sætte session + header ind i denne kode:


<?php
include_once "connection.php";
include "dbh.php";
?>
<html>
<head>
    <title>Opret spiller</title>
</head>
<body>
<style type="text/css">
.fornavn, .efternavn, .alder, .land, .position{
margin-left: 10px;
}

</style>
<form action = "opretspiller2.php" method="post">
<div class="fornavn">
    <label>Fornavn:</label>
    <input type='text' name='spillerfornavn' placeholder='Fornavn'>
</div>

<div class="efternavn">
    <label>Efternavn:</label>
    <input type='text' name='spillerefternavn' placeholder='Efternavn'>
</div>

<div class="alder">
    <label>Alder:</label>
    <select name="alder">
        <?php
            $query = "SELECT * FROM alder";
            $results = mysqli_query($con, $query);

            foreach ($results as $alder) {
                    ?>
        <option value="<?php echo $alder["alder"];?>"><?php echo $alder["alder"]; ?></option>
        <?php
            }
        ?>
    </select>
</div>

<div class="land">
    <label>Land:</label>
    <select name="land">
        <?php
            $query = "SELECT * FROM land";
            $results = mysqli_query($con, $query);

            foreach ($results as $land) {
                    ?>
        <option value="<?php echo $land["land"];?>"><?php echo $land["land"]; ?></option>
        <?php
            }
        ?>


?>

    </select>
</div>

<div class="position">
    <label>Position:</label>
    <select name="position">
        <?php
            $query = "SELECT * FROM position";
            $results = mysqli_query($con, $query);

            foreach ($results as $position) {
                    ?>
        <option value="<?php echo $position["position"];?>"><?php echo $position["position"]; ?></option>
        <?php
            }
           
        ?>
        <input type="hidden" name="aflervering" value="<?php echo rand(1,10); ?>" />
        <input type="hidden" name="afslutning" value="<?php echo rand(1,10); ?>" />
        <input type="hidden" name="dribling" value="<?php echo rand(1,10); ?>" />
        <input type="hidden" name="tackling" value="<?php echo rand(1,10); ?>" />
        <input type="hidden" name="doedboldsituationer" value="<?php echo rand(1,10); ?>" />
        <input type="hidden" name="hurtighed" value="<?php echo rand(1,10); ?>" />
        <input type="hidden" name="acceleration" value="<?php echo rand(1,10); ?>" />
        <input type="hidden" name="udholdenhed" value="<?php echo rand(1,10); ?>" />
        <input type="hidden" name="lederskab" value="<?php echo rand(1,10); ?>" />
        <input type="hidden" name="kampaand" value="<?php echo rand(1,10); ?>" />
        <input type="hidden" name="hoejde" value="<?php echo rand(165,207); ?>" />
        <input type="hidden" name="vaegt" value="<?php echo rand(55,105); ?>" />




    </select>

</select>

<br>
    <button type="submit">Opret spiller</button>
</div>


</body>
</html>
Avatar billede jakobdo Ekspert
02. juni 2017 - 07:18 #5
Hvad ønsker du da der skal ske, når man har trykket: Opret spiller på den form ?
Avatar billede Thomasrn Seniormester
02. juni 2017 - 09:58 #6
Det der sker pt er den ryger ind på opretspiller2.php hvor den giver nogle tilfældige stats det enste jeg mangler er at sted for at bruge form action vil jeg heller bruge header og session til at få en URL der hedder opretspiller2.php?sid+=(spillerensid)
Avatar billede jakobdo Ekspert
02. juni 2017 - 10:16 #7
og den side skal de lande på, når du de er blevet oprettet ?
Avatar billede Thomasrn Seniormester
02. juni 2017 - 10:57 #8
Ja siden hvor stats osv bliver vist er lavet det jeg mangler er header der leder over til opretspiller2.php plus en session der trækker spillerens id ud og op i URL'en
Avatar billede jakobdo Ekspert
02. juni 2017 - 12:19 #9
Gem det i session ?

Når du har oprettet brugeren, laver du:

session_start(); //Skal gerne i toppen...

$_SESSION['spiller_id'] = "ID_FRA_DIN_DATABASE_INDSÆTTELSE";

Og så på din "opretspiller2.php", laver du så:

$spiller_id = $_SESSION['spiller_id'];

og så bruger du den som en almindelig variabel.
Avatar billede Thomasrn Seniormester
02. juni 2017 - 14:00 #10
hvordan får jeg en header ind sted for formaction den ved den skal gøre det efter jeg har trykket på knappen opret spiller
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