« 1 2 »
Autor Zpráva
nightrider
Profil
Dobrý večer, chci se zeptat proč mi nejde include vnořovt kam chci pomocí function?
********************************
neco.php
<?
function obsah() { 
// Nejaky obsah
}
?>

**********Konec souboru**********

index.php
<?
include ("neco.php");
obsah();
?>

**********Konec souboru**********

Ví někdo proč to nefachá? Děkuju

Omlouvám se :-( na výpis chyb vždycky zapomenu.
Call to undefined function obsah()
Aesir
Profil
nightrider:

1.) vypíše se chyba o neexistujícím souboru => máte špatně cestu k souboru neco.php
2.) vypíše se chyba o neexistující funkci => vkládáte jiný soubor, než si myslíte
3.) nevypíše se žádná chyba => funkce obsah() nevrací žádný výstup nebo máte potlačený výpis chyb
.
.
.
takhle můžeme pokračovat dál, nebo sem napíšete co znamená, že to „nefachá“ a budem vědět víc a nebudem muset věštit.
shaggy
Profil
nightrider
Len taká poznámka - ty sa nesnažíš "vnoriť" obsah pomocou nejakej vlastnej funkcie. Ty proste includuješ súbor, ktorý obsahuje nejakú funkciu a to je dosť rozdiel. Nechceš si radšej niekde prečítať základy php? Ušetríš si námahu s vymýšlaním náročných názvov a možno sa aj niečo naučíš.
nightrider
Profil
A když chci docílit aby se obsah includu vnořoval tam kde chci jak to mám tedy udělat?
shaggy
Profil
nightrider
Presne tak ako si to napísal v prvom príspevku. Chybu tam nevidím.
nightrider
Profil
Pokud to tedy je dobře, tak proč mi to nejde? Vim, že mi chyba říká že nemám nadefinovaný funkce v "obsah()" ale nevim o po mně tedy víc chce
Aesir
Profil
nightrider:

Máte zapnutý výpis všech chyb (včetně varování)? Opravdu jsou oba dva soubry na stejné úrovni (ve stejném adresáři)?
nightrider
Profil
Jestli mám zapnutý výpis všech chyb to nevím, ale ty dva soubory nejsou ve stejnym adresáři. Cesta k souboru, je ale správná.
Aesir
Profil
nightrider
Cesta k souboru, je ale správná.
V tom případě v něm není definovaná funkce obsah.
nightrider
Profil
Ještě mně napadlo jestli funkci nevadí podmínky? Ty tam mám taky daný
Aesir
Profil
nightrider:
Mám to přesně takhle:

Opravdu přesně takhle?
Pokud ano, tak už řádek
if (mam zobrazit){

vyhodí parse error.

Tenhle kód už se liší od toho v prvním příspěvku, tak buď někde dejte k dispozici oba dva, celé soubory, nebo tu chybu nidky nenajdeme.
fuckin
Profil
Ještě mně napadlo jestli funkci nevadí podmínky? Ty tam mám taky daný
Prosím?? Proč by měli funkci vadit podmínky ??

Jinak ti tam chybel ukoncovaci tag.

    <?php
function obsah() { 
if ($opravneni['fotogalery'] == 'yes') {
echo "<img src=\"catalog/css/".$opravneni["present_style"]."/img/arrow.png\" alt=\"->\"><a href=\"index.php?action=fotogalery\">".$m3."</a><br>";
}
if ($opravneni['map'] == 'yes') {
echo "<img src=\"catalog/css/".$opravneni["present_style"]."/img/arrow.png\" alt=\"->\"><a href=\"index.php?action=map\">".$m8."</a><br>";
}
}

// Vyvolávám to:
include ("adresar/neco.php"); // Je umístěno úplně nahoře
?>
<div class="lista"><?php echo $zahlavi5; ?></div>
    <div class="lista-p_h"></div>
    <div class="lista-p_s"><span class="popisek" style="width:97%;">
  <?php obsah(); ?></span></div>
<div class="lista-p_d"></div>



Aesir
tak buď někde dejte k dispozici oba dva, celé soubory, nebo tu chybu nidky nenajdeme.
Stačilo to hodit do editoru a podívat se kde je chyba, zabralo me to tak 2 sekundy.
nightrider
Profil
Chyba je stále a ukončovací značkou to neni. Neni to celej kod a to proto, že když by jsem měl dát celej odevšeho, tak by toho bylo srašně moc.
fuckin
Profil
Omlouvám se :-( na výpis chyb vždycky zapomenu.
tak prosim porad nezapominej a napis kde je chyba a uved zde dany kod ktery je v ramci te knihy.
Alphard
Profil
nightrider:
Proměnné uvnitř těch podmínek nejdou nastaveny jako globální, ani jako paremetr. Možná je problém v tom (nechce se mi to celé číst). Všechny podmínky se vyhodnotí jako false a vypíše to maximálně chybu, že $opravneni není definovaná.
nightrider
Profil
Jsem všechno komplet strčil do txt souboru. Je tam všechno co stím má co spolěčnýho. Fakt je, že se chyba zobrazí jakmile vytahuju funkci v zahlavi.php pokud to vytahnutí zruším, tak všechno bez chyb, ale jakmile chci funkci vytáhnout, tak je pruser.

Všechno je definované. Jen function zlobí. Pokud místo function dam rovnou inlude, tak je vše o.k.
Pokud by jsem to udělal třeba jako: $obsah = include 'cesta/soubor.php';
do záhlaví potom vytáhnul, tak by to bylo o.k. To jsem taky už testoval jestli to nemám udělat raději tak,ale nechtěl mi to vzít.
fuckin
Profil
nightrider
V syntaxi chyba neni, problem bude asi v tom jak rekl Alphard. Nic jineho me nenapada a jelikoz jsi ani nenapsal vypis chyby tak nemuzeme poradit.
nightrider
Profil
Fatal error: Call to undefined function obsah() in /home/free/vyjimecny.cz/t/root/www/css/zahlavi.php on line 68
Řádek 68: <?php obsah(); ?>
fuckin
Profil
Do te hlavicky zahlavi.php nekde na zacatek dej
require_once "cesta k souboru more.php";
nightrider
Profil
To já mám hned v index.php (include 'more.php';) dal jsem include na to co jsi mi poradil, ale beze změny
fuckin
Profil
undefined function znamena ze funkce neni definovana takze to includujes blbe, dej si do toho souboru nejake echo at vidis zda je spravne naincludovany. Includujes ho pred aktivaci funkce? Vidim to na nejaky blby preklep.
nightrider
Profil
Fuckin máš pravdu :-) špatný pořadí includu :-) ted je to bez chyb,ale zase nic nezobrazí
dal jsem do souboru more.php echo který se mi vypsalo, ale ty věci v podmínkách se mi nevypsali. To jsem si jisty, že pořadim includovanych souboru to nebude

Podmínky jsou daný v souboru if.php a ten je nad more.php a zahlavim.php
Aesir
Profil
fuckin:
Stačilo to hodit do editoru a podívat se kde je chyba, zabralo me to tak 2 sekundy.

Ano, máte pravdu, kdyby v tom příspěvku byl od začátku tento kód. Ale bohužel tam bylo před tím něco úplně jiného, proto jsem žádal o kompletní zdroják. Editovat původní znění příspěvku na který už někdo reagoval není úplně šikovné. :(
fuckin
Profil
nightrider
Ano, a ted je problem v tom jak psal alphard. Promenne uvnitr te funkce musi byt globalni.

A priste prosim needituj sve prispevky tak drasticky. Staci pripsat par slov a ne ze vymazes cely kod plus par dulezitych vet.
nightrider
Profil
Globální? To se prosím dělá jak?
fuckin
Profil
$GLOBALS['nazev_promenne'], podiv se radsi do manualu.
Nebo si do te funkce dej vstupni parametry. To se me zda jednodussi.
nightrider
Profil
function obsah($rights, $opravneni) { // Takhle nějak? Vůbec ted nevim kam, co, proč, jak
Pomůže mi někdo ještě stímhle?
fuckin
Profil
do funkce musis predat ty hodnoty ktere pouzivas uvnitr te funkce.

Takze nejak takto.
Do hlavicky funkce udas formalni parametry. Pri aktivaci funkce pak zadas skutecne parametry.

function obsah($prava,$text1,$text2) { ... } // doufam ze sem ty promenne dobre spocital

Ty promenne uvnitr te funkce budes muset upravit tak aby se shodovali s temi formalnimi.

Pote tu funkci budes aktivovat s temi promennymi cos mel puvodne v te fci

obsah($opravneni,$m3,$m8);

Hodnoty skutecne parametru se ulozi do formalnich parametru v danem poradi jak byly aktivovany.
nightrider
Profil
Porad nevim jak to udelat. Neni nejaka jednodussi moznost? Třeba $more = include('more.php');
fuckin
Profil
ten tvuj prikaz ma delat co? :D
« 1 2 »
Toto téma je uzamčeno. Odpověď nelze zaslat.

0