» »

Težavica s PHPjem

Težavica s PHPjem

<?php?> ::

1.$zacetna_cifra = 1;

while ($zacetna_cifra++ <= $cifra){

in potem input boxom dodam name=ime_input_boxa$zacetna_cifra in mi dela normalno. Imenu inputboxa doda cifro. Potem bi pa rad klical input box nekako takole:
echo "$ime_input_boxa$zacetna_cifra";
Ampak to ne pali. Kaj naj storim?

2.Imam neko stran kjer se spremenljivka $nekaj naštima na recmo 5, potem se pa ta spremenljivka uporablja še naslednji 2 strani. Kako bi naredil da bi se vrednost spremenljivke prenesla z ene strani na drugo?
  • spremenil: Sergio ()

darh ::

1. kako to mislš da bi rad klical input box ???!?

2. mogoče s cookiji ?


3. ! mal glej kako poimenuješ temo... nekako je napisano pravilo kako se to dela... ama ne... .
Excuses are useless! Results are priceless!

Zgodovina sprememb…

  • spremenil: darh ()

<?php?> ::

1.Lej, bom kar še enkrat razložil, ker se mi je prej malo mudilo in sem čudno razložil stvar...
Imam tole:
$zacetna_cifra = 1;
while ($zacetna_cifra++ <= $cifra){
echo " ";
}

In tako dobim toliko input boxev kolikor je $cifra. In input boxi ima imena (če je $cifra == 3):
naslov_boxa1
naslov_boxa2
naslov_boxa3

Do tukaj je še vse v redu, ampak zdaj bi jaz to rad prikazal takole:
$zacetna_cifra = 1;
while ($zacetna_cifra++ <= $cifra){
echo "$naslov_boxa$zacetna_cifra";
}

Ampak on mi izpiše samo $zacetno_cifro. Fora je ta da bi se morala iz $naslov_boxa$zacetna_cifra narediti skupna spremenljivka, ampak se ne. Kako to naredim?
2. Ne, cookijev nebi. Sem nekje slišal za session-e, ampak jih ne znam uporablat. Pa ne mi tukaj rečt naj pogledam v manual, ker sem gledal, ter tudi našel 8-O , ampak nisem razumel kaj dosti...

3. Se opravičujem...

<?php?> ::

Aja, pozabil da ta forum kar spremeni kodo. No, saj važno je le to na je input boxu ime (name=) $naslov_boxa.

darh ::

1. poskusi takole :
echo $naslov_boxa . $zacetna_cifra;

2. cepec.. kaj pa misliš da so sessioni drugega kt pa cookiji ?!?!

3. opravičilo sprejeto... sam ne pomaga kej dosti.. ker je ime teme še kar tako kot prej...
Excuses are useless! Results are priceless!

<?php?> ::

1. Ne, ne dela. Javi mi . 1 , . 2 , ...
Če dam v kakšne narekovaje pa 1,2,3...
Zmeraj mi prikaže samo številko...

2. Uf, tale je bila pa direktna...
Kaj sem jaz vedel...
Saj pravim da sem samo slišal ime. Ne vem kaj to je, pa tud z cookiji nisem nikoli delal. Ampak itak ne smejo biti...
Kaj pa če bi spravil cifro v URL? A to se da? In kako?

3. In kako spremenim ime teme?

Sergio ::

Bom kar jaz spremenil.
Tako grem jaz, tako gre vsak, kdor čuti cilj v daljavi:
če usoda ustavi mu korak,
on se ji zoperstavi.

rasta ::

1. Meni tole dela bp:
for($i=0;$i<$cifra;$i++){
echo "<input type=\"text\" name=\"cifra[]\"><br>";
}


Mogoče samo še tole, kratek nasvet, za ime daj [ ], da potem vse vrednosti dobiš v array in potem jih npr. vpišeš v z zanko:
foreach($cirfa as $string) {
@mysql_query("INSERT INTO tabela VALUES ($string, 0)");
}



2. Nekje sem bral en dober tutorial o sessionih, pa ne vem več kje. Se mi zdi da na webmonkey ...
V glaven, na vsako stran moraš dodati tole:
session_start();
if (!$PHPSESSID) {
session_register('ena_sprem');
$ena_sprem = new en_razred;
//ali $ena_sprem = 'neka vrednost';
} elseif (!$ena_sprem) {
session_register('ena_sprem');
$ena_sprem = new en_razred;
//$ena_sprem = 'neka vrednost'
}

V manualu ali kakšnem si poglej, kaj pomeni posamezna vrstica, ker se meni zdaj malo mudi ... 0:)

<?php?> ::

Zahvaljujoč sxc-u sem zvedel teli 2 rešitvi:
1. ${"ime_input_boxa" . "$zacetna_cifra"}
2. Dodaš hidden field, kjerje value=$spremenljivka , ter v naslednji strani isto, in tako se prenaša naprej...

Sicer ni to to kar ste vi predlagali, ampak se vseeno zahvaljujem za vse odgovore...
Lp,
Mitja

<?php?> ::

O ne, ne boste se me še tako kmalu znebili.:)
Namreč zdaj moram prenašati skozi par strani malo več podatkov kot prej, ko je šlo samo za eno cifro...
Prenašati bi moral celoten input_box, kjer bi bila tudi HTML koda. Kako bi pa to izvedel?
Pa ne bi imel cookijev...

cahahopie ::

Hmm...
Ti bi rad neke vrednoti iz input boxa preneso na drugo stran? Misliš to? Če to .. daš v form action = "druga_stran.php"
Al misliš, da bi rad neke informacije iz input boxa shranu za "skoz".. npr. za ebo uro? In bi jih lahk pol na vsakem pejđu ponuco? Lahk daš s cookieji kar je simpl...
funkcija setcookie("MojCookie", $en_var, time()+3600);
Al pa sessioni...
session_start(); (<<- to naj bo recimo v glava.php in naj bo na vsakem pejđu kjer boš rabu svoje podatke).
Potem pa ko pošleš informacije iz input boxa na drug pejđ, se nato recimo če imaš primer logiranja... preverijo podatki iz input boxa in se shranijo te tvoje vrednosti/podatki...z session_register("podatek");. Če pa se želiš recimo rešit vseh teh podatkov (primer odlogiranja) pa session_destroy();.

Btw... xbite vem, da si mucho bolj v tem kot jaz. Toda kako so sessioni tudi cookieji? Res je.. če jih jemljemo kot cooki v višjem pomenu besede.. da se nekam na en računalnik shranijo in da shranijo neke vrednosti.
Sam kolk je v mojih predstavah... a se ne shrani session na server... ko pa se cookieji na clientov računalnik?

Zgodovina sprememb…

  • spremenilo: cahahopie ()

rasta ::

cahahopie: Si že kdaj v Internet Options opazil "Enable session cookies?"
Session se shranjuje na client, drugače sploh ne more bit.

darh ::

usi ste zabluzili...


najprej pojem session cookies.... to s čisto navadni piškoti brez nastavljenega expire datuma.... kaj to pomeni ? da ostanjo pri clientu dokler ima le-ta zagnan browser... ko zapre use browserje se podatki s session cookiji zbrišejo, ostanjeo le tisti ki jim nastaviš expire datum nekam v prihodnost...

kar se tiče sessionov v PHPju... ti uporabljalo cookije ( ali pa tudi ne ;) ), kot refferer na neke podatke shranjene na serverju. Cookie, ki se shrani pri uporabniku ima nek random string ki je enak enemu na serverju, v katerega shranjujemo nadaljne podatke brez clientove vednosti... in ti sessioni so lahko ravno tako navadni session cookiji ali pa cookiji z nastavljenim exp. datumom nekam v prihodnost...

poglejte si naprimer funkcijo session_set_cookie_params() s katero nastavimo kako bodo keksi nastavljeni...

sessione ( tiste od PHPja da ne bo pomote ) je čisto nič ne moti če mi njihove ID vrednosti ne shranjujemo v piškotke, tako da jih lahko posredujemo naprej z GET metodo... kaj pa je to ? ekzample : moja_stran.php?sessionID=oiwzt0495zv34rocf3n4o5z3ov537o5o3


sucer pa res ne vem kaj vam razlagam vse tole, če lepo v manualu piše.... ccc...

8-)
Excuses are useless! Results are priceless!

<?php?> ::

Ne se mi zdaj skregat tukaj...:)
In pa ne, cookiji (sessioni) ne pridejo v poštev.
Saj moram stvar prenašat samo za 2 strani...

darh ::

ne razumem zakaj nebi uporabljaj tako preproste fore kot so to cookiji...

lahko narediš z GET metodo... ane...

shraniš podatke takole:

moja_stran.php?podatki=pooooooooodddaaaattttkiiii

that'z it... aja.. da ne pride do zmešnjave bi blo koristno podatke še prej zakodirati s urlencode()....


lahko pa seveda narediš z POST metodo...

podatke shraniš ponovno v FORM na novi strani v en HIDDEN field in jih ponovno pošlješ naprej..
Excuses are useless! Results are priceless!

cahahopie ::

Slednje sem ža tak jaz zgori povedu...(sam sem dau < in > pa je vse skup zginal... sem pozabu...)

<?php?> ::

Cookije bom uporabil le če bo to zadnja možnost.
Nekako se mi ne zdijo v redu. Ker a veš, to kar delam je vmesnik za pošiljanje newsletterja in do tega bo imelo dostop le par ljudi. Tko da mi ni ravno nujno koderat url, pa tudi cookijev nočem...
Glede hidden fieldov je pa tako, da bo bilo input boxov recimo 10, tako da bi moral narediti 10 hidden fieldov. To sicer ni problem, ampak recimo 5 boxov bo vsebovalo recimo 100 znakov, pod kar štejem tudi HTML tage, ter razne čžš-je, ter @,{,},...
In tega ne morem spraviti v hidden field. Ali pač?

cahahopie ::

Hočeš nardit skripto za odajanj/pošiljanje novic? Novice bi se ti pa kot tule gor na slo-techu izpisale na prvi strani... sam pa res ne vem kaj misliš ti s temi hidden boxi delat...
Čist kulsko bi blo, da nardiš v bazi eno user tabelo za pa userjev, ki bodo lahko odajali novice... nato pa se ti userji logirajo, se nastavjo keksi, se še zapiše v tabelo session trenutni login in nato ...se na strani kjer boš napisal novico.. preverijo podatki v cookieju s tistimi iz session tabele in izpiše obrazec za odajanje novic, če pa niso pravilni pa "Nimate dostopa!" recimo...

Lahko pa nardiš tudi še malce lažje (brez ...keksov).
En pejđ z dvema input boxoma...za geslo in pasword, ki vodi na drug pejđ, kjer se bo mogel prikazat obrazec za odajanje novic. Ko pošlješ ti dve informaciji se na drugi strani v tabeli user preverjo username in geslo... če se stvari ujemajo... se izpiše obrazec.. drgač pa "Nimate dostopa!"...sam to velja samo za take einfach stvarce...

Si to rabu?

darh ::

cpc.. zato pa uprabš urlencode... doh.... sicer pa sploh ni treba če mislš s hidden fieldi delat...
Excuses are useless! Results are priceless!

cahahopie ::

Mi lahko en v lepi Slovenščini razloži kaj misli ta tipso delat?:\ :) :D

darh ::

dej... cahahopie... itak sam predihan zrak mešaš.... da bi pa teb še en razlagal svoje probleme, najprej si v svoji glavi popucej vse..
Excuses are useless! Results are priceless!

<?php?> ::

cahahopie:
Ne, ne ne ne ni to to. Nobenih novic, in izpisovanja, sploh pa ne baze...
Lej evo vam link:
http://www.orodjarna.com/test/newslette...

No, to je vmesnik za newsletter. Najprej izberete število polj, nato jih izpolnete, nakar se vam vse skupaj izpiše. No in ta izpis je v bistvu predogled email-a ki ga bo tisti ki je na newsletter prijavljen prejel. No, in pa ker na 2 strani izpolniš polja, nato jih izpiše, in na tej strani spremenljivke niso več definerane, zato ne morem poslati email-a, ker $ime_input_boxa$zacetna_cifra ne obstaja več. No in to bi jaz rad prenesel. Upam da zdaj razumete...

<?php?> ::

Ja, dela s hidden fieldi, samo moraš pač dati v " ".
Samo je pa še eden problem. Namreč pri mail() funkcji je treba določiti kaj bo v emailu. Takorekoč body sporočila. No in jaz sem dosedaj uporabljal $message (pač eno spremenljivko), ki sem ji dal "notri" HTML kodo in pa še kakšno spremenljivko in je vse lepo delalo. No, sedaj moram pa notri dati while. In v neko spremenljivko ne moram pisati kode, kako potem to naredim?

darh ::

jah... najprej naredi tisto tvojo zanjko in dodajaj text v spremenjivko, takole:

while (nekej)
$message .= "dodajam text";
Excuses are useless! Results are priceless!

<?php?> ::

Ne, stvar je takšna da while generira nova polja, oz. tiste input_box1, input_box2,...

darh ::

ja in ? pa kaj pol ?
namesto da das echo, dodaš v spremenjivko..
Excuses are useless! Results are priceless!

<?php?> ::

Sej sem prejle tko čudno razložil. V bistvu sploh ne znam povedat kaj je narobe...:)
Lej tale rar. Pa si zdownloadi in poglej skripto poslji_newsletter_html.php . No in notri boš videl kaj hočem. Najprej je en while ki bere iz baze, potem je pa $message, in v tem ta while.

darh ::

sj sm ti že povedal:

 Malo texta... lalalala... lalala... lalala
";

while ($zacetna_cifra++ < $cifra)
{
$message .= "
se vec texta...
${'text_box' . '$zacetna_cifra'}

pa se en stuff...

${'naslov_boxa' . '$zacetna_cifra'}

";
}

$message .= "
še zaključek....
";


kaj bi še rad zdj ? da ti kr jest napišem celo zadevo al kaj ?
Excuses are useless! Results are priceless!

Zgodovina sprememb…

  • spremenil: darh ()

<?php?> ::

Ne, ni mi treba vsega pisat. Ampak kje je fora $message .= oz. kje je fora .? Ker ne morem v manual napisat samo . in bi bo pokazal rešitev.
No ko te že vprašam za to kaj pomeni . mi pa prosim povej še kaj pomeni @. To tudi dostikrat vidim pa ne vem kaj točno to pomeni...

darh ::

če daš piko pred enačaj (.=) to pomeni da DODAJAŠ tekst oziroma vrednost na desni strani enačaja v spremenjivko na levi

@ pred funkcijo pa pomeni da ignoriraš vse errorje, naprimer pri mysql_query().. če se pojavi napaka in nimaš afne pred funkcijo se izvajanje skripte zaključi... če pa daš afno prejd funkcijo pa ifnororaš napako (seveda še vedno lahko pogledaš v mysql_error() če je kaj novega notr....)

še btw question: zakaj imaš nick <?php?> ?!?!? >:D
Excuses are useless! Results are priceless!

<?php?> ::

Aha, ok, tenx.
Zakaj imam nick ? Vem kam ciljaš, ampak imel sem drug nick a sem pozabil geslo in bil tako primoran napraviti novega. Ker pa sem se takrat ravno začel ukvarjat z PHPjem, mi je prišel na misel...

Samo mi ne dela skripta. Ne dobim emaila, in pa tudi če dam nakoncu en echo se ne izpiše, kar pomeni da pride do errorja...
A bi se ti dalo pogledati kje je fora? Link je napisan že zgoraj...
Hvala...

Lp,
Mitja

darh ::

naredi rajš tkole:

if ( !@mail(..., ..., ..., ...) )
echo "napaka pri pošiljanju maila";


če ti nobenga errorja ne javi zakaj ne morš maila poslat ti jest tud ne morem pomagat...

poglej v kak log file....

če maš linux je to najbrž zapisano v /var/loh/messages, za druge platforme pa ne vem...
Excuses are useless! Results are priceless!

<?php?> ::

Ok, zdaj dela. Sem pozabil dati v mail() okoli spremenljivk ""...
Hvala za vse odgovore.

Lp,
Mitja

cahahopie ::

Jaz bi te še neki vprašu...
Zakaj pa boš v bistvu rabu tole skripto? Vidm, da boš nek tekst..novice? ...pošiljo na mejl..
Daj mau razlož... kak to...in zaka rabiš..iz samega smiselnega vidika...

<?php?> ::

To je v bistvu vmesnik za pošiljanje newsletterja. Torej nekje so bi prijavil uporabnik na newsletter in ga potem dobival recimo tedensko. No, zdaj imamo nekoga ki hoče brati newsletter, zadevo je pa potrebno še nekam napisati in poslati. No in za to je ta skripta:
1. stran:
Tukaj izbereš samo število polj. Kaj pomeni polje pa boš videl ko boš kliknil naprej (ali pošlji. Ne vem kako sem poimenoval).
2. stran:
Sedaj se vam izpiše newsletter le da ni nobenega texta ampak so input boxi za vnašanje texa. Ko jih izpolneš klikneš naprej.
3. stran:
Tukaj se ti sedaj prikaže isto kot prej, le da ni input boxov ampak je taxt ki si ga prej vnesel v input boxe. V bistvu je to predogled tistega kar si prej napisal v input boxe. Če ti je všeč kar vidiš (beri: ni nobenih napak), klikneš naprej
4. stran:
Tukaj se zadeva pošlje vsem ki so na newsletter "naročeni". No in ko dobijo newsletter izgleda čisto isto kot 3 stran.
--------------------------------------------------
No in zato ta vmesnik. Da lahko sproti pogledaš kako bo newsletter izgledal. Seveda moram dodati v ta vmesnik še vmesnik za pisanje HTML kode, ampak to je že druga zgodba, ki naj bo povedana kdaj drugič... ;)

cahahopie ::

Aha... to je recimo tist šajz.. ki ga dobivam v tako velikem število na hotmaila...
To je bistvu en majhen povzetek kar se je dogajalo na pejđu in še kakšne nove novice? Ker če bi kar hotel pošiljat novice na mejle bi zadevo kar povezal z bazo.
Hmm.. prevč dela..:D

<?php?> ::

Zakaj bi povezoval z bazo?!?
Saj se newsletter oz. novica kakor praviš to pošlje in nato jo lahko mirne duše pozabiš.
Kompliciram?
Možno, ampak na tak način se veliko naučim...
In pa takšna skripta je boljša, ker jo lahko uplovdaš na serverje ki ne podperajo MySQLa. Čeprav mislim da težko najdeš takšnega ki podpera Sendmail, a MySQLa pa ne...:D
Ne vem, meni se moja rešitev še vedno zdi najboljša, čeprav res ne najlepša...

cahahopie ::

Ne... to z bazo sem mislu... če bi folku hotu pošiljat novice na mejl bi črpu tiste iz baze. Toda... če bi blo to na primeru Slo-techa, ki ima ogromno novic/tedensko/dnevno.... bi folk popiz*** ,ko bi meu zafilan mejl račun.
Ti pa moraš napisat... torej si vzet čas, da napišeš celotno stvarco in pošlješ vsem v tvojem adresarju.

<?php?> ::

Aja, razumem kaj misliš. Ampak to ne bodo tedenske novice, ampak čisto navaden newsletter, kjer bo pisalo vsakič nekaj drugega, lahko da med samo sploh ne povezanega...
Mi je pa tvoj predlog dal idejo...ki je pa ne povem...>:D

poweroff ::

No, ko ze posiljas maile, si poglej še tele fintice:

mail("$mail",
"Obvestilo!",
"nek tekst....
< font size=1 color=\"#808080\" >
Tehnični podatki o pošiljatelju: < br >
IP naslov: < b > $ipadress < /b > < br >
Ime host-a: < b > $hostname < /b > < br >
Uporabljeni spletni brskalnik: < b > $browser < /b > < br >
Obvestilo je bilo poslano iz: < b > $referer < /b > < br >
< /font >"
,
"From: Matthai < matthai@... > \n"
."Reply-To: matthai@...\n"
."X-Priority: 1\n"
."Content-Type: text/html; charset=windows-1250");

X-Priority: 1 = high, 2 = medium (default), 3 = low
:D :D :D


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Je že kdo prejel tak telefonski klic?

Oddelek: Mobilne tehnologije
3613578 (11043) dottor
»

Osnova v C-ju

Oddelek: Programiranje
61075 (849) t3hn0
»

Kraja mobilne identitete (strani: 1 2 )

Oddelek: Novice / Zasebnost
6010578 (10578) jc
»

Help - SiOL

Oddelek: Omrežja in internet
5771 (675) PaJo

Več podobnih tem