Титла: PHP: Вкарване на име на поле в масив Публикувано от: Regia в Jul 15, 2005, 17:58 Имам следното нещо, което показва таблица, на базата на масив. В генерирания код, това input name='r".$i."c".$j."' излиза като name='r2c7', примерно. Въпросът ми е как този цикъл да създаде масив със стойностите за name, т.е. да мога да се обърна към новия масив на по-късен етап след изпращането на формата, и в този масив (тримерен най-добре) да има номера на реда, колоната и какво е въведено като трета опция.
Благодаря предварително на всички, които биха изявили желание да помогнат по този проблем.
И след изпращането на формата да може да се види какво е въвел потребителя в ред 3 от 4-та колона, примерно, благодарение на този масив. Титла: PHP: Вкарване на име на поле в масив Публикувано от: Emooo в Jul 15, 2005, 20:51 Аз не разбрах кво питаш
Титла: PHP: Вкарване на име на поле в масив Публикувано от: Regia в Jul 15, 2005, 21:22 Цикълът създава различни имена за input name=. Как да се създава и по същото време двумерен масив, който да съдържа номерата (координатите) на всички полета.
В генерирания HTML код има: <input name='r0c0 <input name='r0c1 <input name='r0c2 <input name='r1c0 Как цикълът да създава след изпращането на формата тримерен масив, който да съдържа номерата от r и c, и съдържанието на полето. Ако пак не се разбира: как мога в друг скрипт да проверя (да сравня с друг стринг) съдържанието на формата от горния код? Титла: PHP: Вкарване на име на поле в масив Публикувано от: в Jul 15, 2005, 23:28 аз лично нищо не разбрах
![]() ![]() Титла: PHP: Вкарване на име на поле в масив Публикувано от: в Jul 15, 2005, 23:32 не че нещо ама къв е проблема да създадеш един масив с елемнти колкото е броя на колоните в таблицата ? сигурно е нещо катo
int $masiv[10][2]; // primerno ako sa 10 kolonite v tablicata и после да записваш саответно : for ($j = 0; $j < strlen($cwtext[$i]); $j++) { echo ("<td><input name='r".$i."c".$j."' type=\"text\" size=\"1\" maxlength=\"1\" /></td>"); $masiv
} p.s. нямам идея от Php ![]() Титла: PHP: Вкарване на име на поле в масив Публикувано от: в Jul 15, 2005, 23:35 бтв една вметка... недеи да пишеш цикли като
for ($j = 0; $j < strlen($cwtext[$i]); $j++) { не че нещо ама тва на секи пас ша вика функцията стрлен която ще преброява символите в масива.. което е супер супер лагнато ако имаш масив с 20000 елемента ин а секи пас тая функция преброява колко са елементите на масива. Аз бих си го написал : $size = strlen($cwtext[$i]); //маи няма типове нали ? :+) for ($j = 0; $j < $size;$j++) { Титла: PHP: Вкарване на име на поле в масив Публикувано от: JOKe в Jul 15, 2005, 23:40 aa деиба прост съм
$masiv
тва маи трииа да е $masiv[$i][0]=$i; $masiv[$i][1]=$j; забраих доларите как моа да забраа доларите .. баси на секи долари са му в главата само на мен не ![]() Титла: PHP: Вкарване на име на поле в масив Публикувано от: Emooo в Jul 15, 2005, 23:53 мисля че проблема не му е с масива тва е елементарно ако правилно разбирам не може да подаде даните на друга страница. Начи с POST не можеш да подаваш масив. Трябва да намериш начин от имената на едит бохите да извлечеш масива във следващата страница като правиш проверки със isset($r0c1); и така ако isset върне 0 начи.... начи е ясно кво е.... Другия начин е да направиш един масив записан в стринг
нещо от рода $r0c1;<edi kvo si>;r0c2 и го подаваш по стандартния начин i t.n. no kato gledam ne si naprednal i ste ti e trudno taka che..... mai nai dobre e da prochetesh malko predi da pishesh code. П.С. ех мамка му и долари и аз много ги мразя Титла: PHP: Вкарване на име на поле в масив Публикувано от: VladSun в Jul 16, 2005, 01:19 Blue, честно казано вече настъпи момента да седнеш да попрочетеш малко, да попишеш малко код и т.н. Няма да можем да те научим на програмиране колкото и голямао да ни е желанието
![]() Не възприемай поста насочен лично срещу тебе, просто знам, че с такива обяснения няма да стане ... Титла: PHP: Вкарване на име на поле в масив Публикувано от: JOKe в Jul 16, 2005, 10:50 във JSP има scope-oве.. различни например
request -тва е до другата страница session - тва е за цялата сесия на броусера application - тва е за целия саит page - нивга не сам го ползвал.. та закво служат прави се нещо такова : int masiva[]={100,200,300,50,100,200,300,200,100}; // da kajem session.setAttribute("masivaMiMaina",masiva); после в сяка друга страница може да си го извлека с session.getAttribute("masivaMiMaina"); в тва ПХП няма ли такоа нещо примерно session-а аз си го ползвам за логин/ усернаме и парола и ако има усернаме примерно ключ "UserName" начи оня се е логнал и му пускам страницата деа знам тва е супер удобно неможе да няма в ПХП такоа нещо Титла: PHP: Вкарване на име на поле в масив Публикувано от: Emooo в Jul 16, 2005, 13:10 да със session ще стане
Титла: PHP: Вкарване на име на поле в масив Публикувано от: Regia в Jul 16, 2005, 15:39 Благодаря ви за идеите, ще ги пробвам и ако стане - стане, ако не ще отворя официалния PHP Manual.
![]() Титла: PHP: Вкарване на име на поле в масив Публикувано от: toxigen в Jul 18, 2005, 10:11
където $value е стойността на съответното поле. В следващата страница става така:
Може и така за по-кратко:
Преди всичко естествено трябва да си сетнал $i и $j. Имай впредвид, че session_start() трябва винаги да е първото (или поне преди всичко, което извежда съдържание! ![]() Ще имаш да черпиш ![]() Титла: PHP: Вкарване на име на поле в масив Публикувано от: в Jul 18, 2005, 11:41 Доколкото си спомням за да се работи със сесията session_start() не е нужно да се извиква, достатъчно е да се пипне $_SESSION. Това не важи за $HTTP_SESSION_VARS. Преди някой се беше изказал за скоупове в АСП/ДжСП. В PHP това са суперглобалните променливи $_GET/$_POST/$_REQUEST(get, post, cookie, files)/$_COOKIE/$_FILES
другa суперглобалнa променлива е $_SERVER, но тя е само за четене. В общия случай не е нужно да се извикват никакви функции за работа със сесия, просто се работи със $_SESSION, но понякога, когато има фреймове страницата е препоръчително, да се отвори набързо да се направи промяната каквато трябва и сесията да се затвори експлицитно, а не да се чака края на скрипта за да се затвори сесията. Титла: PHP: Вкарване на име на поле в масив Публикувано от: в Jul 18, 2005, 11:46 session_start() трябва да е първото, но само на страницата, където се отваря сесията (обикновенно при верификация на име и парола). Това идва от факта, че бисквитката, която пази идентификатора на сесията се няма да може да бъде изпратена иначе. Но и за това има решение за хакване на вече съществуващи скриптове - буфериране на изхода с ob_xxx() фунцкиите ob_start() .... session_start() ..ob_end_flush()
Титла: PHP: Вкарване на име на поле в масив Публикувано от: toxigen в Jul 18, 2005, 15:48 Относно session_start();
Андрей, ако настроиш (силно препоръчително) register_globals да е off ще получиш изненада, особено в по-новите версии на PHP. Без да извикаш session_start всеки опит да прочетеш нещо от масива $_SESSION завършва с undefined index нещо си. Пробвай. Може и при мен да е грешката, но все си мисля, че не е. session_start може да се сложи, където и да е стига да не е изведено нищо преди него точно поради тази причина, която спомена. Нужно е да е преди да е изпратен http хедъра. |