Autor Zpráva
Ameopro
Profil
Ahoj prosím vás dá se nějak udělat aby nick se session šel i do pod souboru který je include_once ?

mám soubory index.php a ucet.php který je na mode na indexu ale když udělám script s $login_session a dám ho do ucet.php a poté ho volám function tak to nefunguje existuje něco jak to udělat aby to vzal i takto když se to volá ? nebot v indexu $login_session jde v pořádku děkuji
tiso
Profil
Ameopro: ešte raz a zrozumiteľne
Keeehi
Profil
Tvé vyjadřovací schopnosti nejsou valné. Trochu tuším s čím máš problém ale úplně nejjednodušší bude, když sem dáš kód, který ti nefunguje a dál se uvidí.
Ameopro
Profil
<?php
function acc() {
$sql = include_once "config/config/config.php";
$result = mysql_query($sql);
$ucet = mysql_query("SELECT acc FROM login where username='".$login_session."'");
$rowo=mysql_fetch_array($ucet);
echo $rowo['acc'];
}
?>
tiso
Profil
function acc() { 
include_once "config/config/config.php"; //bad practise
$result = mysql_query($sql); //undefined $sql, not used $result
$ucet = mysql_query("SELECT acc FROM login where username='".$login_session."'"); //undefined $login_session
...
} 
Ameopro
Profil
Tiso a takto by to mělo tedy již fungovat jo ?
lionel messi
Profil
Ameopro:
Tiso a takto by to mělo tedy již fungovat jo ?

Čo? Ako upravené? Kód v [#4] ani po úpravách fungovať nebude. Ešte raz si pozorne prečítaj Tisov príspevok.
tiso
Profil
Ameopro: nie. Ja som len napísal aké tam máš chyby. Aby to fungovalo, tak by si mohol do tej funkcie pridať ten parameter a volať ju s ním. Ale nedal si tu kód kde tú funkciu voláš, takže ťažko radiť viac.
Ameopro
Profil
Takto vypadá celej script a jak ho volám
<?php 
function acc() { 
$sql = include_once "config/config/config.php"; 
$result = mysql_query($sql); 
$ucet = mysql_query("SELECT acc FROM login where username='".$login_session."'"); 
$rowo=mysql_fetch_array($ucet); 
echo $rowo['acc']; 
} 
?>

Volání scriptu

<?php include_once "ucet.php"; acc();?>


Než to volám tak $login_session funguje na acc.php ale jak jde do index.php tak již nic nefunguje
Manny
Profil
Ve funkci nevidím definovanou proměnou $login_session a ani neni předávaná do funkce jako parametr.
tiso
Profil
Ameopro: vieš vytvoriť funkciu s parametrom? Vyzerá to nejak takto:
function donaldHave($thing) {
   $text = 'Old McDonald have '.$thing;//pouzijem parameter
   echo $text;
}
volanie:
$what = 'a Farm';
donaldHave('$what);
Tak teraz si do tej svojej funkcie predaj ten $login_session parameter
Ameopro
Profil
Bylo by možné my to trošku vysvětlit prosím ? co přesně co dělá ? Děkuji za trpělivost
Neboť když to volám z dokumentu ucet.php do indexu.php tak to nic neukáže a ani když definuji soubor odkud má čerpat
Ameopro
Profil
Chápu to dobře že v donaldHave definuji parametr co si má vzít vlasně z indexu sebou do druhého souboru?

Volání:
<?php
require 'view/script/script.php'; donaldHave($login_session);
?>

Script :

A zde vlasně v donaldHave si zavolám to co jsem měl jako parametr při volání

  <? function donaldHave($login_session) {
$test1 = mysql_result(mysql_query("SELECT * FROM login where username='".$login_session."'"),0,0).$thing;
   echo $test1;
}
?> 


Chápu to dobře ?
mimochodec
Profil
Ano, takhle se předávají parametry směrem do funkce. Princip chápeš správně, ale máš tam další chyby. Jednak mysql_query dáváš víc parametrů, než tam patří, dále pak vůbec není zřejmý účel toho .$thing na konci. Dále mysql_result nevrací řetězec, jak se zdá, že si myslíš. A nakonec - echo ve funkci je trochu fujky. Funkci ber jako od okolí izolovanou krabičku, které dáš jeden nebo více parametrů, ona je nějak zpracuje a pokud je to žádoucí, vrátí nějakou hodnotu. Sama o sobě by neměla nic vypisovat. Není to dogma, ale považuju to za dobrý zvyk. Dělá se to takto:

$pokus = dvojnasobek(20);
echo $pokus;

function dvojnasobek($vstup) {
  $vysledek = $vstup * 2;
  return $vysledek;
}

K tomu, jak použít mysql_query, stačí na to kliknout a přejít na php.net, kde se dozvíš mj. doporučení to už nepoužívat a přejít na mysqli. Nebo tu funkci hledej tady v diskusi. Najdeš stovky výskytů.
Ameopro
Profil
mimochodec:
A ten script co tu ukazuješ má dělat co jestli se mohu optat trochu ho nechápu Děkuji za trpělivost
lionel messi
Profil
Ameopro:
A ten script co tu ukazuješ má dělat co jestli se mohu optat trochu ho nechápu

A vyskúšal si si ho?
Taurus
Profil
Ameopro:
Piš prosímtě jako člověk. Víš, že existuje interpunkce? Tvé příspěvky jsou dlouhodobě těžko čitelné.
lionel messi
Profil
Taurus:
Je to marný, je to marný, je to marný…

Mnohí kolegovia vrátane mňa sa snažili Ameopra naviesť rovnakým smerom, ale bezúspešne.

Ameopro:
V niektorých tvojich starších vláknach som si všimol, že si sa nedočkal odpovede. Myslím si, že viem prečo. Takpovediac každého tunajšieho diskutéra baví pomáhať druhým, ale ich zdroje (napr. čas) sú tiež obmedzené. Preto radšej odpovedia na zaujímavú a predovšetkým zrozumiteľne položenú otázku, kde nemusia z autora všetko páčiť trikrát ako z chlpatej deky.

Pozri sa na titulok vlákna. Zaujal by ťa alebo by ti prišiel nevypovedajúci o obsahu? Často som si u teba všimol aj ďalší nešvár. Pýtame sa ťa dve-tri otázky, ty však odpovieš len na jednu z nich, musíme sa pýtať opäť, dĺžka vlákna narastá a ochota odpovedajúcich nepriamo úmerne s ňou klesá.
mimochodec
Profil
Ameopro:
A ten script co tu ukazuješ má dělat co

Něco úplně jiného, než co potřebuješ ty. Jen jsem se snažil vysvětlit, jak se používají funkce. Z toho, cos napsal, se jen těžko odhaduje, co vlastně řešíš. Jestli jde o sessions, tak na začátku každého souboru, kde s nimi pracuješ, musí být php.net/manual/en/function.session-start.php. Problém může být v tom, že používáš proměnnou $login_session tam, kde bys měl použít session. Ale to jen vařím z vody, opravdu nevím.

Dále to vypadá, že nemáš jasno v použití include. Představ si to tak, jako že do toho "hlavního" souboru by se vložil ten includovaný. Není to přesně totéž, ale v tom smyslu, jestli v includovaném kódu funguje session nastavená v "hlavním" souboru, to tak můžeš brát.
Ameopro
Profil
Již jsem to pochopil omlouvám se již vím jak to mimochodec myslel. Vše sem vám omlouvám za ztrátu svého ceného času. Příště to budu lépe definovat. Každopádně s tím co jsem potřeboval pomoci tak jste my pomohly moc vám děkuji

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: