Peršokti į turinį
  • ŽAIDIMAI
  • , ŽAIDIMAI
  • ŽAIDIMAI

PHP, array_push?


Ši tema yra neaktyvi. Paskutinis pranešimas šioje temoje buvo prieš 2249 dienas (-ų). Patariame sukurti naują temą, o ne rašyti naują pranešimą.

Už neaktyvių temų prikėlimą galite sulaukti įspėjimo ir pranešimo pašalinimo!

Recommended Posts

Sveiki, taigi iškilo tokia nedidelė problema, noriu sukurti taip:

Turiu array, pvž: 

$names = array();

Ir turiu "form" su 2 "input":

<form action="" method="get">
  <input type="text" name="name" value="Irašykite vardą">
  <input type="submit" name="create">
</form>

Toliau, naudoju "array_push" tam, kad kiekviena kartą paspaudus "submit" mygtuką, man prie "array" ($names), prisidėtu po 1 reikšmę (value) ta kuri yra įrašyta į teksto laukelį "input".

Bendras rezultatas turėtu atrodyti maždaug taip, (jeigu į laukelį įrašysiu: "Name1", "Name2", "Name3" ir t.t.), po pirmo mygtuko paspaudimo:

[0] => Name1

Po antro:

[0] => Name1 [1] => Name2

Po trečio ir t.t.:

[0] => Name1 [1] => Name2 [2] => Name3 ...

 

Šio kodo veikimo pavyzdys (kaip turėtu veikti kodas):

http://www.tutorialsscripts.com/php-tutorials/array-functions/php-array_push-function-demo.php

P.S. Iš čia kodo negaliu pasižiurėti kadangi ten niekur nerašo ir tame parsisiųstame faile taip pat neparodo viso kodo panaudoto tame puslapyje

 

Dėkojų iš anksto

Nuoroda į komentarą
Dalintis per kitą puslapį

Sveikas, kadangi turėjau laiko ir tau turbūt padėsiu.

Paspaudus pridėti prisidės prie array, o išvalyti jis tiesiog išsivalys, manau to norėjai

 

Kodas:

<?php
ob_start();
session_start();

if(!isset($_SESSION['names'])){
	$_SESSION['names'] = array();
}
// jei visiskai tuščia sesija įrašome į ją array()

if(isset($_POST['create'])){ // paspaudžiamas mygtukas create
	$name = $_POST['name']; // input name value

	if(!empty($name)){
		array_push($_SESSION['names'], $name); // iterpiame i array
	}
	header("Refresh:0");
}
if(isset($_POST['isvalyti'])){ // paspaudžiamas mygtukas isvalyti
	$_SESSION['names'] = array(); // padarome sesija defaultine
	header("Refresh:0");
}
   
echo '<form method="post">
  <input type="text" name="name" placeholder="Irašykite vardą">
  <input type="submit" name="create">
  <input type="submit" name="isvalyti" value="Isvalyti array">
</form>';

echo '<b>Array:</b> <br/>';
print_r($_SESSION['names']); // isvedame array

echo '<br/><br/><br/><br/>';
echo '<b>Sarasas:</b><br/>';
foreach ($_SESSION['names'] as $key) {
	echo $key.'<br/>';
}
// isskaidome array i elementus

?>

Išvestis:

phpisvestis.png.da0ef1a4ec8532c14be68fc402aec5be.png

Redaguota , nario Viruss
Nuoroda į komentarą
Dalintis per kitą puslapį

Prieš 1 valandą, Viruss parašė:

Sveikas, kadangi turėjau laiko ir tau turbūt padėsiu.

Paspaudus pridėti prisidės prie array, o išvalyti jis tiesiog išsivalys, manau to norėjai

(...)

Tavo sprendimo truputį nesuprantu. Pataisiau truputį.

<?php

session_start();

if (!isset($_SESSION['names']) || isset($_POST['clear'])) {
	$_SESSION['names'] = array();
}

if (isset($_POST['name'], $_POST['submit'])) {
	# Temos autorius turėtų nepamiršti filtravimo.
	$name = $_POST['name'];

	if (!empty($name)) {
		# Šis metodas žymiai greitesnis už funkcijos panaudojimą.
		$_SESSION['names'][] = $name;
	} else {
		echo 'Nepalikite laukelio tuščio.';
    }
}

$names = $_SESSION['names'];

?>
<form method="POST">
Vardas:<br>
<input type="text" name="name" title="Vardo laukelis."><br><br>
<input type="submit" name="submit" value="Pridėti">&nbsp; &nbsp;<input type="submit" name="clear" value="Išvalyti rezultatus">
</form>
<?php

if (!empty($names)) {
	echo '<hr><strong>Masyvo informacija:</strong><br><br>';
	print_r($names);
}

?>

Rezultatas (toks pat):

Capture.png

Nuoroda į komentarą
Dalintis per kitą puslapį

Ši tema yra neaktyvi. Paskutinis pranešimas šioje temoje buvo prieš 2249 dienas (-ų). Patariame sukurti naują temą, o ne rašyti naują pranešimą.

Už neaktyvių temų prikėlimą galite sulaukti įspėjimo ir pranešimo pašalinimo!

Prisijungti prie diskusijos

Palikti atsakymą galite iš karto, o užsiregistruoti vėliau. Jeigu jau turite paskyrą mūsų forume, Prisijunkite.

Svečias
Atsakyti šioje temoje...

×   Įklijuotas tekstas turi teksto formatavimą.   Pašalinti teksto formatavimą

  Galimi tik 75 veidukai.

×   Nuoroda buvo automatiškai įterpta.   Įterpti nuorodą paprastai

×   Jūsų ankstesnis pranešimas buvo atkurtas.   Išvalyti redaktorių

×   Jūs negalite įkelti nuotraukas tiesiogiai.Įkelkite arba įdėkite nuotraukas iš URL.

  • Šiame puslapyje naršo:   0 nariai

    • Nėra registruotų narių peržiūrinčių šį forumą.

Skelbimai


×
×
  • Sukurti naują...