• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Przesyłanie zmiennych sesyjnych w zależności od wybranego linku

Object Storage Arubacloud
0 głosów
354 wizyt
pytanie zadane 21 maja 2018 w PHP przez szachovy Początkujący (270 p.)

Witam, robię jako projekt forum internetowe i  mam problem z przesłaniem konkretnej zmiennej do danego pliku pod konkretnym linkiem. Próbowałem wielu metod jednakże większość z nich kończy się ustaleniem tej samej zmiennej sesyjnej we wszystkich linkach i wynosi ona ostatnie id zapytania lub wyświetla błędy.

<?php

require_once "connect.php";
$connection = @new mysqli($host, $db_user, $db_password, $db_name);
if ($result = $connection->query("SELECT * FROM ctopics"))
{
    #wypisuje całą tabele z bazy danych
    $amount = $result->num_rows;
    $n = 1;

        echo '<table style="width:100%; border: 1px slateblue">
    <tr>
        <th>id</th>
        <th>user</th>
        <th>topic</th>
        <th>discussion</th>
    </tr>
    ';while($amount != 0)
{

    echo '<tr/>';
    $row = $result->fetch_assoc();

        echo '<td>';
        echo $row['id'];
        '</td>';
        echo '<td>';
        echo $row['user'];
        '</td>';
        echo '<td>';
        echo $row['topic'];
        '</td>';
        echo '<td>';
        #po naciśnięciu na ten link zostane przekierowany do dyskusji
        #stron dyskusji bedzie tyle co kolumn w bd
        #linki działają dobrze
        echo "<a href=$n.php>LINK</a>";
        '</td>';

        echo '<br/><br/>';

        echo '</tr>';
        #i tutaj główna trudność 
    $_SESSION['id'] = $n ?????
    #ustawia sie to na ostatnie $n czyli tyle ile jest wierszy w tabeli a jeżeli zrobie
    $_SESSION[$n] = $n ????
    $_SESSION['id'] = $_SESSION[$n];
    #to zmienna $n w innym pliku jest nieznana
        
    $amount = $amount - 1;
    $n += 1;
};'
</table>';

a to przykładowy plik dyskusji gdzie chce zfetchowac dane dyskusji w zależności od klikniętego linku

<?php
session_start();
require_once "connect.php";

#tutaj problem z konkretnym przyniesieniem id
$id = $_SESSION['id'];

$connection = @new mysqli($host, $db_user, $db_password, $db_name);
#gdzie potem sie do tego odwoluje tu
    if($result = $connection->query("SELECT * FROM ctopics WHERE id = $id ??????"))
    {
        #i fetchuje konkretne dane
        $row = $result->fetch_assoc();
        echo "From : ".$row['user'];
        echo '<br/><br/>';
        echo $row['topic'];
    }
?>

Byłbym bardzo wdzięczny za pomoc. Jeżeli się nieda to prosiłbym o podsunięcie mi innego możliwego rozwiązania.W razie niejasności proszę pytać.

1 odpowiedź

+1 głos
odpowiedź 21 maja 2018 przez Kacper Sas Dyskutant (8,460 p.)
wybrane 21 maja 2018 przez szachovy
 
Najlepsza
Nie lepiej jeden skrypt odpowiedzialny za dyskusję, który w zależności od id przesłanym w linku metodą GET wyrzuca dane na ekran? (np. topic.php?id=23)
komentarz 21 maja 2018 przez szachovy Początkujący (270 p.)

Działa, dzięki wielkie, nie wiedziałem, że można w linku zawierać jakieś konkretne informacje (po tym pytajniku) jak dałem 

<a href=$n.php?id=$n>LINK</a>

to w pliku od dyskusji dałem 

$id = $_GET['id'];

i w zapytaniu 

SELECT * FROM ctopics WHERE id = $id

to zadziałało.

komentarz 21 maja 2018 przez Kacper Sas Dyskutant (8,460 p.)
edycja 21 maja 2018 przez Kacper Sas
echo "<a href=\"topic.php?id=$n\">LINK</a>";

Myślałem bardziej o takim podejściu :)

Wtedy miałbyś tylko jeden plik (topic.php) odpowiedzialny za wypluwanie danych na ekran.

Podobne pytania

+1 głos
2 odpowiedzi 313 wizyt
pytanie zadane 14 lutego 2018 w PHP przez hiper007 Stary wyjadacz (11,270 p.)
0 głosów
3 odpowiedzi 157 wizyt
pytanie zadane 15 stycznia 2022 w JavaScript przez Jacek Śmiel Użytkownik (510 p.)
0 głosów
1 odpowiedź 227 wizyt
pytanie zadane 16 lipca 2017 w PHP przez sapero Gaduła (4,100 p.)

92,576 zapytań

141,426 odpowiedzi

319,652 komentarzy

61,961 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...