[php]Includowanie zmiennej w parametrze. Prawie pilne.

0

Witam,
Probelm polega na tym, iż podczas includowania skrypt nie odczytuje wartosci zmiennej którą podaję przez url.
Zmienna jest typu tablicy asocjalnej, odwołanie wygląda następująco:

include "plik.php?zmienna=$tablica";

plik.php nie daje żadnego wyniku.

Czy możliwe jest przekazywanie zmiennej przez url? Czy może powinienem to obsłużyć na plikach?

0

paramtrem funkcji include() jest ort! tekstowa i tyle. nie mozesz zrobic czegos takiego jak "$tablica"

0
$zmienna=$tablica;
include("plik.php");

a w pliku obrabiasz $zmienna

0

Teraz juz stanąłem w punkcie. Ręce mi odpadają, myśleć mi się już nie chce ;-(

W pliku xml mam spis danych przygotowanych do formularza.
Wczytuję je bezproblemowo i wyświetlam formularz na ekranie.
Teraz potzrebuję zapisać wspisane dane do osobnego pliku. W tym momencie miałem sto pomysłów w jaki sposób to mogę zrobić, ale im dłużej z tym siedziałem, tym gorzej szłow(małe/duże literki; w każdym pliku inne + tablica $_POST nie obsługuje kluczy zawierająych spację ;-( Gdyby mogło, to byłoby dawno po problemie, a teraz siedze i bujam się jakbym miał chorobę sierocą. Podaję elementy formluarza przez POST i kompletnie nie wiem jak mam dalej dane obsłużyć.
Jak mogę zamienić pola text?... W dodatku kiedy zapisuje dane które nic nie zawierają to php się wykrzacza... ;-(

0

tablica $_POST nie obsługuje kluczy zawierająych spację
obsługuje! zobacz na to: $_POST['klucz ze spacja'], zadziała na 100%
pewnie używasz krasnala, w którym dozwolona jest taka głupota: $_POST[klucz]

po drugie, to daj kod, w którym dane z $_POST przerabiasz i próbujesz zapisać

//edited: hm, masz rację jednak z tymi kluczami, nie działa do końca tak jak powinno, bo apache albo php zamienia spacje na '_'

<?php
if ($_POST)
	echo '<pre>'.print_r($_POST, 1).'</pre>';
?>
<form method="post">
	<input type="hidden" name="klucz ze spacja" value="wartosc jakas" />
	<input type="text" name="spacja i spacja" value="tu cos wpisz" />
	<input type="submit" value="OK" />
</form>
0

strtr() ?

0

Dzięki za odpowiedzi :-)

Pojawił mi się kolejny problem, wręcz znikąd:

if(((!isset($_POST[$n]))) || ($_POST[$n] = '')) {
		fwrite($handle, (string)$n . ": brak\n");
		echo (string)$n . ": brak\n";
	}else{ 
	 	fwrite($handle, (string)$n . ': ' .  $_POST[$n] . "! \n");
	 	echo (string)$n . ': ' .  $_POST[$n] . "! \n";
		}

Do pliku zapisywane są elementy których nie ma(brak) zamiast danych które były w formularzy wpisane jest zapis:
Nazwa: !

0

Rozwiązane. Błąd przy porównywaniu: jest '=' a powinno być '=='.

1 użytkowników online, w tym zalogowanych: 0, gości: 1