Kezdőoldal » Számítástechnika » Weblapkészítés » PHP-ben változó értékének...

NextBack kérdése:

PHP-ben változó értékének átadása új php oldalra?

Figyelt kérdés

pl:

exaple_1.php-ben

<html>

<head>

</head>

<body>

<form METHOD="POST" ACTION="b.php">


<input type="text" name="nn">

<INPUT TYPE="submit" NAME="gomb" VALUE="regisztráció">


</form>



<?PHP

if(isset($_POST['gomb']))

{


session_start();

$_SESSION['elso'] = $_POST['nn'];

print "session_a: ".$_SESSION['elso'];


}


?>

</body>

</html>


exaple_2.php-ben

<?PHP

session_start();

print "b.php<br>";



print "session_b: ".$_SESSION['elso'];


?>



Azt szeretném, hogy felhasználó megadja az első oldalon a nevét, majd gombra kattintás után átugrik a második oldalra, és ott ki szeretném íratni az első oldalról bekért nevet, hogyan ?

Én próbálkoztam, de sikerül.


2018. ápr. 25. 18:41
 1/2 anonim ***** válasza:

session_start(); még az előtt kell hogy bármi kimenet lenne.

Tehát se HTML, semmilyen karakterek, pl. UTF8-BOM karakterek se.

Javaslom tanuld meg a PHP OOP-MVC szerkezetet, csomó problémától megóvhatod magad.

2018. ápr. 26. 07:36
Hasznos számodra ez a válasz?
 2/2 2*Sü ***** válasza:

Arra, hogy két oldalletöltés között adatokat adj meg, arra többféle módszer van:


- GET paraméter átadás

- POST paraméter átadás

- Sütik

- Session változók


Hogy melyiket érdemes használni, az a helyzettől függ, pl. a felhasználónak szabad-e, kell-e látnia az adatokat, mekkora adatmennyiségről van szó, két külön böngészőfülön két különböző állapot is lehet, vagy ezeknek szinkronban kell lenniük.


A session esetén fontos, hogy a session_start() még azelőtt ki legyen adva, mielőtt egyetlen karaktert is kiírnál a kimenetre. (Itt még a BOM is be szokott keverni, érdemes erre is figyelni.) A fenti kódnak tehát így kellene minimum kinéznie:


<?php

session_start();

?>

<html>

<head>


De a kód más sebből vérzik:


$_SESSION['elso'] = $_POST['nn'];

print "session_a: ".$_SESSION['elso'];


Nagyszerű, de mi van, ha névnek a „<script>alert('x');</script>” nevet adja meg? Ha így írod ki a nevet, akkor ahol csak az oldalon az adott felhasználó nevez szerepel, felugrik egy ablak. Ez még hagyján, de session hijacking-re, csúnyább XSS-re is alkalmas a dolog.


A „print "b.php<br>";” meg kissé értelmezhetetlen, hacsak nem a „b.php” szöveg kiírása volt a célod, amit kétlenék.


Kellene neked egy tankönyv vagy egy jól megírt online lecke…

2018. máj. 3. 10:33
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!