Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem Redsnake pokouší php

Nesmějte se mi, nějak se začít musí a žádný učený z nebe nespadl :-)
Jsem se teda rozhodl, že se jako trochu samovzdělám, aspoň se zabavím a tak.
Volba padla na php.
Nainstaloval jsem EasyPHP, JaFiho PSpad (díky za free prográmek), a našel si nějaké základní tutoriály.
EasyPHP jsem nikterak nekonfiguroval (Musí se?) a adresa mého localhostu je 127.0.0.1:8888/ ( proč je tam to 8888? Myslel jsem, že to bude jen 127.0.0.1 ale to nefunguje..

Pro začátek jsem se rozhodl zkusit jen naprosto triviální věc. Chtěl jsem pomocí php vypsat dvě věty a připravil jsem si takový kód:

<?
echo "Tenhle text bych chtěl zobrazit";
?>
<?
echo "Chtěl bych, ale nejde mi to a nevím proč..";
?>

Soubor jsem uložil jako index.php do adresáře ProgramFiles/EasyPHP/www
Na localhostu ho zobrazím pod adresou: index.php
Nicméně se mi načte vše jen jako čistá, bílá stránka. Když kliknu pravým myšem a dám zobrazit zdrojový kód, tak se mi pochopitelně můj hustokrutědémonsky geniální skript ukáže.
Kde dělám chybu?
Díky za rady a smích si nechte od cesty :-D

Předmět Autor Datum
Tož to zkus takto : <?php echo "Tenhle text bych chtěl zobrazit"; ?> <?php echo "Chtěl bych, ale n…
hynajs 19.01.2011 21:44
hynajs
Super, funguje to! EDIT: vím, že to ve znění <?php je kompatibilní se standartem XML, ale proč to ne…
Redsnake 19.01.2011 21:46
Redsnake
narazil jsem na další problém, pokud postupuju podle toho tutoriálu. pokud chci psát odřádkovaný tex…
Redsnake 19.01.2011 22:13
Redsnake
Prehliadač pri zobrazení nahrádza postupnosť bielych znakov jednou medzerou. Pre zalomenie riadka mô…
los 19.01.2011 22:35
los
o tom použití html znaků jsem věděl. Jen jsem myslel, že někde používám špatně \n protože se mi to v…
Redsnake 19.01.2011 22:39
Redsnake
V php.ini je nastavenie short_open_tag, ktoré keď nastavíš na On, tak to bude fungovať: short_open_…
los 19.01.2011 22:32
los
Tak já si na to asi radši zvyknu, budu to psát jako <?php každopádně dík. Na zvýraznění syntaxí už j…
Redsnake 19.01.2011 22:34
Redsnake
Môj osobný názor je, že autori PHP zbytočne hádžu vývojárom polená pod nohy, keď nastavujú alebo odp…
los 19.01.2011 22:42
los
Tomu nerozumím, ale asi pro mě bude jako začátečníka lepší si zvyknout na to <?php abych to pak nikd…
Redsnake 19.01.2011 22:44
Redsnake
mám kód <TABLE> <TR><TD>Číslo</TD><TD>Druhá mocnina</TD></TR> <?php $a = 1; while ($a<="10) { echo…
Redsnake 20.01.2011 15:45
Redsnake
Chybí tečka. A na osmém by mělo být $a++ . echo "<TR><TD>".$a."</TD><TD>".$a*$a."</TD></TR>\n"; $a…
hynajs 20.01.2011 15:50
hynajs
toho a++; jsem si všiml,ale ani při zápisu echo "<TR><TD>".$a."</TD><TD>".$a*$a."</TD></TR>\n"; to…
Redsnake 20.01.2011 15:52
Redsnake
Takhle ? : $ctverec=$a*$a ; echo "<TR><TD>".$a."</TD><TD>".$ctverec."</TD></TR>\n";…
hynajs 20.01.2011 15:55
hynajs
ne, je to vypsání čísel od jedné do desítí pomocí fce while a pak jejich druhá mocnina pomoci $a*$…
Redsnake 20.01.2011 15:57
Redsnake
Tož takto je to funkční. Nevšimnul jsem si zapomenuté uvozovky v podmínce u while , za což se pmlouv…
hynajs 20.01.2011 16:04
hynajs
Jsem idiot, moje chyba. Koukám, že asi budu mít u tohodle problém s pozorností. Nechápu, jak se někd…
Redsnake 20.01.2011 16:09
Redsnake
Ještě dovysvětlení : chybu až na 8. řádku hlásil proto, že si tu uvozovku spojil s další na onom osm…
hynajs 20.01.2011 16:12
hynajs
Tedy na sedmém. Vše ostatní platí.
hynajs 20.01.2011 16:13
hynajs
php neumím, tak jen tak koukám, ale tohle se mi nějak nezdá: while ($a<="10) co tam mají co dělat…
JoDiK 20.01.2011 16:18
JoDiK
nemají, byl to úklep. Jsem si naivně testoval, jestli třeba php umí doplnit do řady stejně jako čísl…
Redsnake 20.01.2011 16:19
Redsnake
BTW: tohle nesnáším na Javě a jak vidím i PHP se tím trápí - prostě člověk hodinu kouká, proč něco n…
JoDiK 20.01.2011 16:24
JoDiK
on to výše vysvětloval Hynajs. Jde o to, že php si myslí, že znaky mezi touhle a další uvozovkou jso…
Redsnake 20.01.2011 16:30
Redsnake
pokouším se udělat si svůj kousek kódu. <TABLE> <table border="2" cellpadding="5" cellspacing="4">…
Redsnake 20.01.2011 16:53
Redsnake
Krom toho, že u while mám přiřazení místo porovnání, chybí mi tam rovnítko tedy while ($a == 2) ni…
Redsnake 20.01.2011 17:12
Redsnake
Dopracoval jsem se k tomuto: <TABLE> <table border="2" cellpadding="5" cellspacing="4"> <TR><TD>Čís…
Redsnake 20.01.2011 17:48
Redsnake
Projde to takhle se závorkama : echo "<TR><TD>".$a."</TD><TD>".($a=$a/$b)."</TD></TR>\n"; Můj zák…
hynajs 20.01.2011 18:50
hynajs
Krása, funguje to:) Ale nerozumím tomu proč:) Kažodpádně, operace vkládám do echa protože to zatím j…
Redsnake 20.01.2011 22:25
Redsnake
Problém byl v tom, že v původním kódu se do proměnné $a nenačetl pouze podíl $a/$b, ale tento podíl…
hynajs 21.01.2011 10:50
hynajs
začínám se v tom ztrácet, ale děkuju za vysvětlení:)
Redsnake 21.01.2011 11:02
Redsnake
Don't give up : watch
hynajs 21.01.2011 11:07
hynajs
To já se nevzdám, dík za podporu:) Už mám v hlavě obří projekt, ale to tak za deset let tímhle tempe… poslední
Redsnake 21.01.2011 11:34
Redsnake
Java se tím rozhodně netrápí. Navíc to není problém jazyka, ale vývojového prostředí. Programovat se…
MaSo 20.01.2011 18:54
MaSo

narazil jsem na další problém, pokud postupuju podle toho tutoriálu.
pokud chci psát odřádkovaný text tak využiju např tento kód

<?php
 echo 
 "Tohle bude první řádek\nTohle bude druhý řádek\nTohle dáme nakonec";
 ?>

v prohlížeči se mi ale text zobrazí kompletně na jednom řádku. Kde dělám chybu?

Btw. jak v PSPadu nastavit, aby se mi to zobrazovalo hezky v barvičkách?:D
A jak řešíte při psaní kódu to, že některé využívané znaky jsou na CZ a jiné na ENG klávesnici? Píšete je přes alt plus čísla?

o tom použití html znaků jsem věděl. Jen jsem myslel, že někde používám špatně \n protože se mi to v prohlížeči neodřádkovalo.
Jenže když se to hodilo do html, tak šlo vidět, že to odřádkované je, jen prohlížeč to interpretuje bez řádkování, neb mu chybí <BR> takže to asi používat budu.)

on to výše vysvětloval Hynajs.
Jde o to, že php si myslí, že znaky mezi touhle a další uvozovkou jsou řetězec, proto by to ani nemohl odhalit jako chybu..
To by musela být docela asi už AI :)

No nic, vypadá to, že jsem pobral fci while, jdu si to zkoušet..
Zas je to zábavný docela..

pokouším se udělat si svůj kousek kódu.

<TABLE>
<table border="2" cellpadding="5" cellspacing="4">
<TR><TD>Číslo</TD><TD>Druhá mocnina</TD></TR>
<?php
$a =256;
while ($a=2)
{
    echo "<TR><TD>".$a."</TD><TD>".$a./2"</TD></TR>\n";
    }
?>
</TABLE>

chtěl jsem aby to číslo 256 dělilo dvěma dokud se nebude výsledek rovnat dvoum.

Nefunguje ani při zadání proměnné $b = 2
tedy:

<TABLE>
<table border="2" cellpadding="5" cellspacing="4">
<TR><TD>Číslo</TD><TD>Druhá mocnina</TD></TR>
<?php
$a =256;
while ($a=2)
{
    echo "<TR><TD>".$a."</TD><TD>".$a*/2"</TD></TR>\n";
    }
?>
</TABLE>

Mohl by někdo prosím osvětlit?

EDIT: že už to pak nebude druhá mocnina vím, jen jsem tam nechal původní kód tabulky:)

Krom toho, že u while mám přiřazení místo porovnání, chybí mi tam rovnítko tedy

while ($a == 2)

nicméně ani teď to nefunguje.

EDIT:
takhle to asi má být

<?php
$a = 256;
$b = 2;
while ($a==2)
{
    echo "<TR><TD>".$a."</TD><TD>".$a/$b."</TD></TR>\n";
  }
?>

Ale teď už to nevypisuje nic. Ani chybu, ani výsledky

EDIT:
takhle:

while ($a!=2)

Problém byl v tom, že v původním kódu se do proměnné $a nenačetl pouze podíl $a/$b, ale tento podíl spojený s řetězcem "</TD></TR>\n" . Viz zdrojový kód stránky.
Čili např. při $a=256 a $b=2 se $a rovnalo řetězci "128</TD></TR>\n"

Ve vzduchu visí ještě otázka, proč dělení v následujícím kroku proběhlo ( vlastně v našich očích správně) a operace nehavarovala. Inu, zadáme-li do operace dělení ( a dalších aritmetických ) řetězec např. "12Světlana", pro aritmetickou operaci bude vyhodnocen jako 12.

Zpět do poradny Odpovědět na původní otázku Nahoru