|
| Php til .txt? Fra : Yasser |
Dato : 10-09-11 11:33 |
|
Hej html.dk
Jeg vil gerne oprette fx en gæste bog som følgende..
http://www.nemprogrammering.dk/Tutorials/PHP/T14PHP.php
Faktisk er det ikke en gæstebog, det eneste mit system skal er at
den skal gør hvad jeg fortæller den hehe, og det er at den skal
vise navn og kommentar, så lad os kalde det for en gæstebog
..MEN problemet er at fopen er disabled på min server.. :
http://wiki.dreamhost.com/Allow_url_fopen
er der noget alternativt, til at man kan skrive og vise en txt
file, derudover behøves det ikke at være en txt file.. det må
være hvad som helst, også hvis der er nogle der kan få den til at
skrive til mysql?
Det vigtigste er at den skal skrive til X, og X skal vises på
phpen..
tak :)
--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials
| |
Bertel Lund Hansen (10-09-2011)
| Kommentar Fra : Bertel Lund Hansen |
Dato : 10-09-11 12:13 |
|
Yasser skrev:
> .MEN problemet er at fopen er disabled på min server.. :
Det er ikke helt rigtigt.
> http://wiki.dreamhost.com/Allow_url_fopen
Det der er spærret for, er at du kan åbne filer fra andre servere
end din egen. Er det nødvendigt?
Hvis ikke det er, skal du bare brge noget i stil med:
define ('INFILE', 'guestbook.txt');
(1) $contents=file(INFILE);
foreach ($contents as $line)
echo $line;
(1) læser automatisk en tekstfil og opretter et array med alle
linjerne (skilt ef linjeskift - linjeskiftet indgår i hver
linje). Hvis du skal bruge linjerne uden linjeskift, kan du
naturligvis trimme dem, men i den slags tilfælde bruger jeg en
lidt anden metode:
(2) $contents=explode("\n",file_get_contents(INFILE));
file_get_contents() henter hele filen som en lang tekststreng, og
explode laver så et array - uden det tegn der eksploderes med.
Opskriften laver en tekstudskrift. Du må selv pakke det ind i den
nødvendige HTML.
--
Bertel
http://bertel.lundhansen.dk/ http://fiduso.dk/
| |
Yasser (12-09-2011)
| Kommentar Fra : Yasser |
Dato : 12-09-11 12:04 |
|
Bertel Lund Hansen wrote in
dk.edb.internet.webdesign.serverside.php:
> Yasser skrev:
>
> > .MEN problemet er at fopen er disabled på min server.. :
>
> Det er ikke helt rigtigt.
>
> > http://wiki.dreamhost.com/Allow_url_fopen
>
> Det der er spærret for, er at du kan åbne filer fra andre servere
> end din egen. Er det nødvendigt?
>
> Hvis ikke det er, skal du bare brge noget i stil med:
>
> define ('INFILE', 'guestbook.txt');
>
> (1) $contents=file(INFILE);
> foreach ($contents as $line)
> echo $line;
>
> (1) læser automatisk en tekstfil og opretter et array med alle
> linjerne (skilt ef linjeskift - linjeskiftet indgår i hver
> linje). Hvis du skal bruge linjerne uden linjeskift, kan du
> naturligvis trimme dem, men i den slags tilfælde bruger jeg en
> lidt anden metode:
>
> (2) $contents=explode("\n",file_get_contents(INFILE));
>
> file_get_contents() henter hele filen som en lang tekststreng, og
> explode laver så et array - uden det tegn der eksploderes med.
>
> Opskriften laver en tekstudskrift. Du må selv pakke det ind i den
> nødvendige HTML.
>
> --
> Bertel
> http://bertel.lundhansen.dk/ http://fiduso.dk/
Hej igen,
Sådan, så blev jeg lidt klogere hehe..
Du kan se at jeg er ikke ekspert i det her...
Men kan du så hjælpe her, jeg tror jeg har gjort noget forkert, kan
du indsætte koderbe både hvor den skal læse fra 'guestbook.txt' og
skrive i 'guestbook.txt', i de rigtige steder:
<?php
session_start();
?>
<? $strTitle="forside";?>
<? include("header.inc"); ?>
<body>
<div class="indhold">
<?php
if(isset($_SESSION['logget_ind'])){
echo " <h1> $strTitle </h1>
<p>
}
'INFILE', 'guestbook.txt');
(1) $contents=file(INFILE);
foreach ($contents as $line)
echo $line;</p>
{";
}
else
{
echo "<h1>Ukorrekt login</h1>
<p>Du skal være logget ind for at se disse sider. <a
href=\"default.php\">Log in</a></p>";
}
?>
</div>
<? include("menu2.inc"); ?>
</body>
</html>
--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials
| |
Bertel Lund Hansen (12-09-2011)
| Kommentar Fra : Bertel Lund Hansen |
Dato : 12-09-11 13:16 |
|
Yasser skrev:
> Men kan du så hjælpe her, jeg tror jeg har gjort noget forkert, kan
> du indsætte koderbe både hvor den skal læse fra 'guestbook.txt' og
> skrive i 'guestbook.txt', i de rigtige steder:
Ja, jeg har lavet et forslag. Det viser linjerne fra gæstebogen
blot med et <br> tilføjet. Jeg kender ikke tekstfilens opbygning,
så jeg kan ikke designe det mere detaljeret. Hvis hver linje skal
stå med mellemrum til den næste, kan du i stedet indsætte <p> og
</p> før og efter.
Men først mine principper for at strukturere kode. Som nybegynder
kan du med fordel holde dig strengt til dem indtil den dag hvor
du ved hvorfor du gerne vil gøre det anderledes. Ikke alle
erfarne gør som jeg.
1. includefiler skal have efternavnet .inc.php. Så er de
beskyttet mod utilsigtet visning, men stadig mærket med "inc".
2. if, else, for og lignende skal have et mellemrum før
parentesen, og krølleparentesen skal stå på samme linje
adskilt af mellemrum.
3. Strengvariable omsluttes af enkeltparentes medmindre de
indeholder variabelnavne der skal erstattes.
4. Det gælder dog ikke dem der skriver HTML. De skal stå med
dobbelte anførselstegn fordi man så kan bruge enkelte til de
"interne" HTML-anførselstegn. Se eksempler i koden.
5. Hvis en meget lang streng skal skrives ud (som de ofte sker i
HTML), deler jeg den op på følgende måde:
echo "første del af strengen"
."anden del af strengen"
."tredje del af strengen";
Punktummet betyder at to strenge sættes sammen til én. Bemærk
at der kun er semikolon til allersidst. Det er kun én
echo-sætning.
6. include (og require) behøver ingen parenteser. Det er en uskik
at indføje unødvendige parenteser, men der er mange der gør
det.
Om: define ('INFILE', 'guestbook.txt');
Definitionen betyder at man i resten af koden kan skrive INFILE
(uden anførselstegn) i stedet for filnavnet. Man kan definere
hvad som helst på den måde. Det kan gøre koden mere overskuelig,
men reelt er det ikke anderledes end at skrive navnet fuldt ud
hver gang. Det har den fordel at man kan ændre filnavnet ét sted,
og så slår det igennem overalt.
Et råd:
Når først du har sat et starttag til PHP (<?php) så vent ed at
slutte det til al PHP er færdigt. Det bliver uoverskueligt med
start- og sluttag på hver linje.
<?php
session_start();
define ('INFILE', 'guestbook.txt');
$strTitle="forside";
include 'header.inc';
?>
<body>
<div class="indhold">
<?php
if (isset($_SESSION['logget_ind'])) {
echo " <h1> $strTitle </h1>"
$contents=file(INFILE);
foreach ($contents as $line)
echo "$line<br>";
}
else {
echo "<h1>Ukorrekt login</h1>"
."<p>Du skal være logget ind for at se disse sider."
."<a href='default.php'>Log in</a></p>";
}
?>
</div>
<?php include 'menu2.inc'; ?>
</body>
</html>
--
Bertel
http://bertel.lundhansen.dk/ http://fiduso.dk/
| |
Yasser (12-09-2011)
| Kommentar Fra : Yasser |
Dato : 12-09-11 13:37 |
|
Bertel Lund Hansen wrote in dk.edb.internet.webdesign.serverside.php:
> Yasser skrev:
>
> > Men kan du så hjælpe her, jeg tror jeg har gjort noget forkert, kan
> > du indsætte koderbe både hvor den skal læse fra 'guestbook.txt' og
> > skrive i 'guestbook.txt', i de rigtige steder:
>
> Ja, jeg har lavet et forslag. Det viser linjerne fra gæstebogen
> blot med et <br> tilføjet. Jeg kender ikke tekstfilens opbygning,
> så jeg kan ikke designe det mere detaljeret. Hvis hver linje skal
> stå med mellemrum til den næste, kan du i stedet indsætte <p> og
> </p> før og efter.
>
> Men først mine principper for at strukturere kode. Som nybegynder
> kan du med fordel holde dig strengt til dem indtil den dag hvor
> du ved hvorfor du gerne vil gøre det anderledes. Ikke alle
> erfarne gør som jeg.
>
> 1. includefiler skal have efternavnet .inc.php. Så er de
> beskyttet mod utilsigtet visning, men stadig mærket med "inc".
>
> 2. if, else, for og lignende skal have et mellemrum før
> parentesen, og krølleparentesen skal stå på samme linje
> adskilt af mellemrum.
>
> 3. Strengvariable omsluttes af enkeltparentes medmindre de
> indeholder variabelnavne der skal erstattes.
>
> 4. Det gælder dog ikke dem der skriver HTML. De skal stå med
> dobbelte anførselstegn fordi man så kan bruge enkelte til de
> "interne" HTML-anførselstegn. Se eksempler i koden.
>
> 5. Hvis en meget lang streng skal skrives ud (som de ofte sker i
> HTML), deler jeg den op på følgende måde:
>
> echo "første del af strengen"
> ."anden del af strengen"
> ."tredje del af strengen";
>
> Punktummet betyder at to strenge sættes sammen til én. Bemærk
> at der kun er semikolon til allersidst. Det er kun én
> echo-sætning.
>
> 6. include (og require) behøver ingen parenteser. Det er en uskik
> at indføje unødvendige parenteser, men der er mange der gør
> det.
>
> Om: define ('INFILE', 'guestbook.txt');
> Definitionen betyder at man i resten af koden kan skrive INFILE
> (uden anførselstegn) i stedet for filnavnet. Man kan definere
> hvad som helst på den måde. Det kan gøre koden mere overskuelig,
> men reelt er det ikke anderledes end at skrive navnet fuldt ud
> hver gang. Det har den fordel at man kan ændre filnavnet ét sted,
> og så slår det igennem overalt.
>
> Et råd:
> Når først du har sat et starttag til PHP (<?php) så vent ed at
> slutte det til al PHP er færdigt. Det bliver uoverskueligt med
> start- og sluttag på hver linje.
>
> <?php
> session_start();
> define ('INFILE', 'guestbook.txt');
> $strTitle="forside";
>
> include 'header.inc';
> ?>
>
> <body>
>
> <div class="indhold">
> <?php
> if (isset($_SESSION['logget_ind'])) {
> echo " <h1> $strTitle </h1>"
> $contents=file(INFILE);
> foreach ($contents as $line)
> echo "$line<br>";
> }
> else {
> echo "<h1>Ukorrekt login</h1>"
> ."<p>Du skal være logget ind for at se disse sider."
> ."<a href='default.php'>Log in</a></p>";
> }
> ?>
> </div>
>
> <?php include 'menu2.inc'; ?>
>
> </body>
> </html>
>
>
>
>
>
>
>
>
>
>
>
>
> --
> Bertel
> http://bertel.lundhansen.dk/ http://fiduso.dk/
Hej igen Bertel,
det var en enormt sejt forklaring, jeg tror at det er den bedste guide
for nybegynder.. mange tak.. jeg kan i hvert fald forstå næsten hvad der
står, det ligesom i 5. klasse hvor man begynder at lærer udsagsord og
navneorde hehe :D..
Meeen, der er vidst en fejl dem siger:
Parse error: syntax error, unexpected T_VARIABLE, expecting ',' or ';'
in /home/alasady/alasady.net/ebutik/forside.php on line 15
http://www.alasady.net/ebutik/
user: ymu
password: ymu
--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials
| |
Bertel Lund Hansen (12-09-2011)
| Kommentar Fra : Bertel Lund Hansen |
Dato : 12-09-11 14:10 |
|
Yasser skrev:
> Meeen, der er vidst en fejl dem siger:
> Parse error: syntax error, unexpected T_VARIABLE, expecting ',' or ';'
> in /home/alasady/alasady.net/ebutik/forside.php on line 15
Ups. Et glemt semikolon:
echo " <h1> $strTitle </h1>"; <==
--
Bertel
http://bertel.lundhansen.dk/ http://fiduso.dk/
| |
Yasser (12-09-2011)
| Kommentar Fra : Yasser |
Dato : 12-09-11 22:25 |
|
Bertel Lund Hansen wrote in dk.edb.internet.webdesign.serverside.php:
> Yasser skrev:
>
> > Meeen, der er vidst en fejl dem siger:
> > Parse error: syntax error, unexpected T_VARIABLE, expecting ',' or ';'
> > in /home/alasady/alasady.net/ebutik/forside.php on line 15
>
> Ups. Et glemt semikolon:
>
> echo " <h1> $strTitle </h1>"; <==
>
> --
> Bertel
> http://bertel.lundhansen.dk/ http://fiduso.dk/
fedest fedeste fedest ...
et workes now :D
hvad med en lille indput fejl+en send knap lige neden under, som sender
direkte til .txt filen?
--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials
| |
Yasser (12-09-2011)
| Kommentar Fra : Yasser |
Dato : 12-09-11 23:38 |
|
Yasser wrote in dk.edb.internet.webdesign.serverside.php:
> Bertel Lund Hansen wrote in dk.edb.internet.webdesign.serverside.php:
> > Yasser skrev:
> >
> > > Meeen, der er vidst en fejl dem siger:
> > > Parse error: syntax error, unexpected T_VARIABLE, expecting ',' or ';'
> > > in /home/alasady/alasady.net/ebutik/forside.php on line 15
> >
> > Ups. Et glemt semikolon:
> >
> > echo " <h1> $strTitle </h1>"; <==
> >
> > --
> > Bertel
> > http://bertel.lundhansen.dk/ http://fiduso.dk/
> fedest fedeste fedest ...
>
> et workes now :D
> hvad med en lille indput fejl+en send knap lige neden under, som sender
> direkte til .txt filen?
>
>
> --
> Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
> - Pædagogiske tutorials på dansk
> - Kom godt i gang med koderne
> KLIK HER! => http://www.html.dk/tutorials
weee jeg tror jeg har fundet ud af det ;D
men jeg er sikker på at der kommer flere spørgsmål
--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials
| |
Yasser (13-09-2011)
| Kommentar Fra : Yasser |
Dato : 13-09-11 11:05 |
|
Yasser wrote in dk.edb.internet.webdesign.serverside.php:
> Yasser wrote in dk.edb.internet.webdesign.serverside.php:
> > Bertel Lund Hansen wrote in dk.edb.internet.webdesign.serverside.php:
> > > Yasser skrev:
> > >
> > > > Meeen, der er vidst en fejl dem siger:
> > > > Parse error: syntax error, unexpected T_VARIABLE, expecting ',' or ';'
> > > > in /home/alasady/alasady.net/ebutik/forside.php on line 15
> > >
> > > Ups. Et glemt semikolon:
> > >
> > > echo " <h1> $strTitle </h1>"; <==
> > >
> > > --
> > > Bertel
> > > http://bertel.lundhansen.dk/ http://fiduso.dk/
> > fedest fedeste fedest ...
> >
> > et workes now :D
> > hvad med en lille indput fejl+en send knap lige neden under, som sender
> > direkte til .txt filen?
> >
> >
> > --
> > Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
> > - Pædagogiske tutorials på dansk
> > - Kom godt i gang med koderne
> > KLIK HER! => http://www.html.dk/tutorials
>
>
> weee jeg tror jeg har fundet ud af det ;D
> men jeg er sikker på at der kommer flere spørgsmål
>
> --
> Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
> - Pædagogiske tutorials på dansk
> - Kom godt i gang med koderne
> KLIK HER! => http://www.html.dk/tutorials
Hej Endnu engang Bertel,
Kender du et script/css eller noget der fungere som "betinget formatering" i
excel?
Sådan så hvis man taster fx 0>49 så er den grøn, og fra 50>99 så er den gul og
alt over 100 så lyser cellen rød?
Er det noget du kan??
PFT.
Yasser
--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials
| |
Bertel Lund Hansen (13-09-2011)
| Kommentar Fra : Bertel Lund Hansen |
Dato : 13-09-11 11:35 |
|
Yasser skrev:
> Kender du et script/css eller noget der fungere som "betinget formatering" i
> excel?
I Excel kan man lave makroer, og de laves med et komplet
programmeringssprog som er en Basicvariant. Men jeg har ikke
arbejdet ret meget med den slags, og slet ikke med betinget
farvning.
CSS har *intet* med Excel at gøre.
Du kan spørge om hjælp i gruppen dk.edb.regneark.
--
Bertel
http://bertel.lundhansen.dk/ http://fiduso.dk/
| |
Yasser (13-09-2011)
| Kommentar Fra : Yasser |
Dato : 13-09-11 14:43 |
|
Bertel Lund Hansen wrote in dk.edb.internet.webdesign.serverside.php:
> Yasser skrev:
>
> > Kender du et script/css eller noget der fungere som "betinget formatering" i
> > excel?
>
> I Excel kan man lave makroer, og de laves med et komplet
> programmeringssprog som er en Basicvariant. Men jeg har ikke
> arbejdet ret meget med den slags, og slet ikke med betinget
> farvning.
>
> CSS har *intet* med Excel at gøre.
>
> Du kan spørge om hjælp i gruppen dk.edb.regneark.
>
> --
> Bertel
> http://bertel.lundhansen.dk/ http://fiduso.dk/
Hej igen Bertel,
Jeg tror jeg har formuleret mig forkert.
Det med Betinget formatering var blot et eksempel.
Jeg spørg her om, man kan lave sådan noget med CSS?
Altså kan man få en celle i html til at tænke når der står inde i den, som nævnt
tidligere, 0>49 - 50>99 - >100
så bliver cellen grøn - gul - rød?
:)
på tak
--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials
| |
Bertel Lund Hansen (13-09-2011)
| Kommentar Fra : Bertel Lund Hansen |
Dato : 13-09-11 15:23 |
|
Yasser skrev:
> Jeg spørg her om, man kan lave sådan noget med CSS?
Ikke i ren HTML og CSS, men det kan laves med PHP, men det træder
ikke i kraft før man har trykket "Send".
CSS
..sort { background: black; }
..roed { background: red; }
..gul { background: yellow; }
..roed { background: groen; }
PHP
if ($value<0) $style="class='sort'";
else if ($value<50) $style="class='groen'";
else if ($value<100) $style="class='gul'";
else $style="class='roed'";
echo "<p $style>$value</p>"
--
Bertel
http://bertel.lundhansen.dk/ http://fiduso.dk/
| |
Yasser (13-09-2011)
| Kommentar Fra : Yasser |
Dato : 13-09-11 21:08 |
|
Bertel Lund Hansen wrote in
dk.edb.internet.webdesign.serverside.php:
> Yasser skrev:
>
> > Jeg spørg her om, man kan lave sådan noget med CSS?
>
> Ikke i ren HTML og CSS, men det kan laves med PHP, men det træder
> ikke i kraft før man har trykket "Send".
>
> CSS
> ..sort { background: black; }
> ..roed { background: red; }
> ..gul { background: yellow; }
> ..roed { background: groen; }
>
> PHP
> if ($value<0) $style="class='sort'";
> else if ($value<50) $style="class='groen'";
> else if ($value<100) $style="class='gul'";
> else $style="class='roed'";
> echo "<p $style>$value</p>"
>
> --
> Bertel
> http://bertel.lundhansen.dk/ http://fiduso.dk/
Hej Mester,
Det er fedt, der var bare en lille fejl i Php koden,
> echo "<p $style>$value</p>"
skal være:
> echo "<p $style>$value</p>";
Jeg tror at det er en taste fejl, ellers vidste du det udmærket.
Jeg har bare en anden udfordring, her ses min kode?
Det er in "Submit" system.
hvis du går ind i tidligere sendt link med bruger+login.
Så kan du til gå min redigering side.
Jeg har fået den til at sende data fra redigere.php til 1.php, og
forside.php viser det som 1.php skriver ind på .txt siden.
jeg håber du forstår, det gør du vel også sikkert fordi det er ikke
første gang du prøver dette.
men Bertel, jeg har ikke rigtigt en ide om hvor PHP koden som du
sendte med > echo "<p $style>$value</p>", skal henne?
Her ses min kode:
if (isset($_SESSION['logget_ind'])) {
echo " <h1> $strTitle </h1>";
$contents=file(INFILE);
foreach ($contents as $line)
echo "$line<br>";
echo '<h1>Din data er hermed gemt, tryk på forside for at komme til
index siden</h1>';
$post = $_POST['post'];
$b2b = $_POST['b2b'];
$b2c = $_POST['b2c'];
$rep = $_POST['rep'];
$otc = $_POST['otc'];
$bp = $_POST['bp'];
$fp = fopen('guestbook.txt', 'w');
$savestring = $post . '<br>' . $b2b . '<br>' . $b2c . '<br>' . $rep
.. '<br>' . $otc . '<br>' . $bp . '<br>' . '.';
fwrite($fp, $savestring);
fclose($fp);
if ($value<0) $style="class='sort'";
else if ($value<50) $style="class='groen'";
else if ($value<100) $style="class='gul'";
else $style="class='roed'";
echo '<p $style>$value</p>';
}
På forhånd tak igen.
--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials
| |
Bertel Lund Hansen (13-09-2011)
| Kommentar Fra : Bertel Lund Hansen |
Dato : 13-09-11 22:49 |
|
Yasser skrev:
> skal være:
> echo "<p $style>$value</p>";
Ja.
> men Bertel, jeg har ikke rigtigt en ide om hvor PHP koden som du
> sendte med > echo "<p $style>$value</p>", skal henne?
Det har jeg heller ikke, for jeg ved ikke hvad du vil bruge den
til. Du kan ikke klippe mit eksempel direkte ind. Det skal blot
illustrere metoden.
> $fp = fopen('guestbook.txt', 'w');
Når du påbner filen med 'w', bliver alt det gamle indhold
slettet, men det er måske også meningen?
Hvis du i stedet åbner den med 'a' (= append), bliver det nye
tilføjet sidst i filen.
--
Bertel
http://bertel.lundhansen.dk/ http://fiduso.dk/
| |
Yasser (14-09-2011)
| Kommentar Fra : Yasser |
Dato : 14-09-11 07:53 |
|
Bertel Lund Hansen wrote in dk.edb.internet.webdesign.serverside.php:
> Yasser skrev:
>
> > skal være:
> > echo "<p $style>$value</p>";
>
> Ja.
>
> > men Bertel, jeg har ikke rigtigt en ide om hvor PHP koden som du
> > sendte med > echo "<p $style>$value</p>", skal henne?
>
> Det har jeg heller ikke, for jeg ved ikke hvad du vil bruge den
> til. Du kan ikke klippe mit eksempel direkte ind. Det skal blot
> illustrere metoden.
>
> > $fp = fopen('guestbook.txt', 'w');
>
> Når du påbner filen med 'w', bliver alt det gamle indhold
> slettet, men det er måske også meningen?
>
> Hvis du i stedet åbner den med 'a' (= append), bliver det nye
> tilføjet sidst i filen.
>
> --
> Bertel
> http://bertel.lundhansen.dk/ http://fiduso.dk/
Hej igen Bertel,
> Det har jeg heller ikke, for jeg ved ikke hvad du vil bruge den
> til. Du kan ikke klippe mit eksempel direkte ind. Det skal blot
> illustrere metoden.
Nej jeg har ikke taget og klippet i din eksempel, det er bare hvordan
koden virker og hvordan tænker den med cellerne som skal skifte farve
efter den bestemte value?
> Når du påbner filen med 'w', bliver alt det gamle indhold
> slettet, men det er måske også meningen?
og ja det er mening at den skal overwrite ;) og ikke append ;)
men ellers tak for rådet.. det er nu mere den celle problem jeg har,
hvor den skal skifte farve efter et bestemt value..
er der et link med det med et bestemt guide.. så kigger jeg selv på
det ..
--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials
| |
Bertel Lund Hansen (14-09-2011)
| Kommentar Fra : Bertel Lund Hansen |
Dato : 14-09-11 08:20 |
|
Yasser skrev:
> men ellers tak for rådet.. det er nu mere den celle problem jeg har,
> hvor den skal skifte farve efter et bestemt value..
I mit eksempel definerer jeg først de klasser der er brug for.
Det skal bare ligge i CSS-filen.
Der hvor du har et felt der skal være farvet, skal du bruge en
if-test af feltets indhold som vist i mit eksempel. Hvis du
udskriver en streng med blandet indhold, kan det ikke lade sig
gøre. Hvis du har feltets indhold i en variabel, og den
indeholder et tal, kan det lade sig gøre på den måde mit eksempel
viste.
--
Bertel
http://bertel.lundhansen.dk/ http://fiduso.dk/
| |
Stig Johansen (14-09-2011)
| Kommentar Fra : Stig Johansen |
Dato : 14-09-11 06:28 |
|
Yasser wrote:
> $post = $_POST['post'];
> $b2b = $_POST['b2b'];
> $b2c = $_POST['b2c'];
> $rep = $_POST['rep'];
> $otc = $_POST['otc'];
> $bp = $_POST['bp'];
> $fp = fopen('guestbook.txt', 'w');
> $savestring = $post . '<br>' . $b2b . '<br>' . $b2c . '<br>' . $rep
> . '<br>' . $otc . '<br>' . $bp . '<br>' . '.';
> fwrite($fp, $savestring);
> fclose($fp);
UPS!
Hvis du 'echoer' filen(råt), er dit 'system' sårbar overfor XSS!!
Take care...
--
Med venlig hilsen
Stig Johansen
| |
Yasser (14-09-2011)
| Kommentar Fra : Yasser |
Dato : 14-09-11 07:54 |
|
Stig Johansen wrote in dk.edb.internet.webdesign.serverside.php:
> Yasser wrote:
>
> > $post = $_POST['post'];
> > $b2b = $_POST['b2b'];
> > $b2c = $_POST['b2c'];
> > $rep = $_POST['rep'];
> > $otc = $_POST['otc'];
> > $bp = $_POST['bp'];
> > $fp = fopen('guestbook.txt', 'w');
> > $savestring = $post . '<br>' . $b2b . '<br>' . $b2c . '<br>' . $rep
> > . '<br>' . $otc . '<br>' . $bp . '<br>' . '.';
> > fwrite($fp, $savestring);
> > fclose($fp);
>
> UPS!
> Hvis du 'echoer' filen(råt), er dit 'system' sårbar overfor XSS!!
>
> Take care...
>
> --
> Med venlig hilsen
> Stig Johansen
Hej Stig,
hvad skal jeg så gør hvis jeg vil undgå dette?
På forhånd tak..
--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials
| |
Stig Johansen (14-09-2011)
| Kommentar Fra : Stig Johansen |
Dato : 14-09-11 09:23 |
|
Yasser wrote:
> Stig Johansen wrote in dk.edb.internet.webdesign.serverside.php:
>> Yasser wrote:
>>
>> > $post = $_POST['post'];
>> > $b2b = $_POST['b2b'];
>> > $b2c = $_POST['b2c'];
>> > $rep = $_POST['rep'];
>> > $otc = $_POST['otc'];
>> > $bp = $_POST['bp'];
>> > $fp = fopen('guestbook.txt', 'w');
>> > $savestring = $post . '<br>' . $b2b . '<br>' . $b2c . '<br>' . $rep
>> > . '<br>' . $otc . '<br>' . $bp . '<br>' . '.';
>> > fwrite($fp, $savestring);
>> > fclose($fp);
>>
>> UPS!
>> Hvis du 'echoer' filen(råt), er dit 'system' sårbar overfor XSS!!
>>
>> Take care...
>>
>> --
>> Med venlig hilsen
>> Stig Johansen
>
> Hej Stig,
>
> hvad skal jeg så gør hvis jeg vil undgå dette?
> På forhånd tak..
ALTID 'xmlencode' output.
Jeg kender ikke så meget til PHP's funktionsnavne, men det er vist noget med
htmlspecialchars eller noget i den dur.
I princippet kan du nøjes med at encode < til <, men det forvirrer
browsere.
'xmlencoding' betyder encoding af <,>,&," og '
XSS betyder bla. at man kan aktivere javascript og deraf følgende ulykker.
Hvis jeg f.eks. i et af dine felter skriver:
<script src='meget.slemt.script.js/>
Kan man aktivere grimme ting med diverse inficeringer vha. sårbarheder i
Flash/Adobe/<en.mass.ms>.
Prøv f.eks. at skrive:
<script>alert('Nu skal du få, skal du');</script>
i et af dine felter i et testsystem.
--
Med venlig hilsen
Stig Johansen
| |
Bertel Lund Hansen (14-09-2011)
| Kommentar Fra : Bertel Lund Hansen |
Dato : 14-09-11 10:38 |
|
Stig Johansen skrev:
> Jeg kender ikke så meget til PHP's funktionsnavne, men det er vist noget med
> htmlspecialchars eller noget i den dur.
http://dk.php.net/manual/en/faq.html.php#faq.html.encoding
> I princippet kan du nøjes med at encode < til <, men det forvirrer
> browsere.
Der kan også laves PHP-numre ved at sætte et anførselstegn og et
semikolon. Det lukker jo en streng og dens udskrift. Så er det
bare at fylde kommandoer på bagefter (og så lige 'genstarte'
udskriften med echo og et anførselstegn).
Hvis man skal lav et formularsystem der skal ligge på nettet,
skal man sætte sig ind i sikkerhedsproblematikken først -
grundigt. Ellers laver man bare en spambot.
--
Bertel
http://bertel.lundhansen.dk/ http://fiduso.dk/
| |
Stig Johansen (14-09-2011)
| Kommentar Fra : Stig Johansen |
Dato : 14-09-11 11:22 |
|
Bertel Lund Hansen wrote:
> Stig Johansen skrev:
>
>> Jeg kender ikke så meget til PHP's funktionsnavne, men det er vist noget
>> med htmlspecialchars eller noget i den dur.
>
> http://dk.php.net/manual/en/faq.html.php#faq.html.encoding
Jo, det var den jeg mente:
http://dk.php.net/manual/en/function.htmlspecialchars.php
Jeg kan sq* ikke huske hvad det hedder i de forskellige sprog (getting
old....).
Humlen var bare at skelne mellem 'xmlencode' (htmlspecialchars i PHP) og
'htmlencode' (htmlentities i PHP).
At bruge 'htmlencode' er spild af tid (ressourcer).
--
Med venlig hilsen
Stig Johansen
| |
Yasser (14-09-2011)
| Kommentar Fra : Yasser |
Dato : 14-09-11 13:22 |
|
Stig Johansen wrote in dk.edb.internet.webdesign.serverside.php:
> Bertel Lund Hansen wrote:
>
> > Stig Johansen skrev:
> >
> >> Jeg kender ikke så meget til PHP's funktionsnavne, men det er vist noget
> >> med htmlspecialchars eller noget i den dur.
> >
> > http://dk.php.net/manual/en/faq.html.php#faq.html.encoding
>
> Jo, det var den jeg mente:
> http://dk.php.net/manual/en/function.htmlspecialchars.php
>
> Jeg kan sq* ikke huske hvad det hedder i de forskellige sprog (getting
> old....).
>
> Humlen var bare at skelne mellem 'xmlencode' (htmlspecialchars i PHP) og
> 'htmlencode' (htmlentities i PHP).
>
> At bruge 'htmlencode' er spild af tid (ressourcer).
>
> --
> Med venlig hilsen
> Stig Johansen
øh shit øh shit øh shit!
men heldigvis er der kode på før man kan komme overhovedet ind på felternes
side!
Men anyway, jeg kan sgu godt se at det er en satans værk og der er mange der
kan lide at drille med dette..
Problemer er så nu, HVAD SKAL JEG GØR, kan jeg nøjes med det login system som
jeg har, eller skal jeg ALLIGEVEL sikre systemet mere.
Jeg ved udmærket hvem som logger ind og ud, og det er i hvert fald få der får
lov til det.. så det er ikke alle der vil lave nisseleg med systemet.
Er det så ligegyldigt eller er det stadig sårbaret?
På forhånd tak,
Har faktisk stadig endnu ikke modtaget svar på farver og celleproblemet?
Skal jeg oprette et nyt emne ?
--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials
| |
Karl Erik Christense~ (14-09-2011)
| Kommentar Fra : Karl Erik Christense~ |
Dato : 14-09-11 15:46 |
|
On 14-09-2011 14:22, Yasser wrote:
> Har faktisk stadig endnu ikke modtaget svar på farver og celleproblemet?
> Skal jeg oprette et nyt emne ?
>
Du dimensionerer din variabel som $a og class som $b.
<?php
if ($a < 50) {
$b=blaa;
} elseif ($a > 49 and $a < 100) {
$b=gul;
} else {
$b=roed;
}
?>
<div class="<?php echo $b ?>">Denne class får farve.</div>
Om det er en div eller andet er lige gyldigt, bare det er noget du kan
give en class.
Karl Erik.
--
http://dmwebdesign.dk - DM i Webdesign
http://twitter.com/kechriste
http://webdesign.ranunkelvej.com - Artikler om webdesign
| |
Karl Erik Christense~ (15-09-2011)
| Kommentar Fra : Karl Erik Christense~ |
Dato : 15-09-11 13:04 |
|
On 14-09-2011 16:46, Karl Erik Christensen wrote:
> On 14-09-2011 14:22, Yasser wrote:
>
>> Har faktisk stadig endnu ikke modtaget svar på farver og celleproblemet?
>> Skal jeg oprette et nyt emne ?
>>
>
> Du dimensionerer din variabel som $a og class som $b.
>
> <?php
> if ($a < 50) {
> $b=blaa;
> } elseif ($a > 49 and $a < 100) {
> $b=gul;
> } else {
> $b=roed;
> }
> ?>
>
> <div class="<?php echo $b ?>">Denne class får farve.</div>
>
> Om det er en div eller andet er lige gyldigt, bare det er noget du kan
> give en class.
>
> Karl Erik.
>
Min løsning var lavet "i hovedet", og ikke helt korrekt
Denne fungerer 100% - husk at gemme med extention .php:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
" http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns=" http://www.w3.org/1999/xhtml" lang="da">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="language" content="danish" />
<title>Hent variabel</title>
<style type="text/css">
fieldset {
border: none;
}
..gron {
color: green;
}
..gul {
color: yellow;
}
..roed {
color: red;
}
</style>
</head>
<body>
<div>
<h1>Tallet bestemmer tekstfarven</h1>
<form action="#" method="post">
<fieldset>
<label for="t">Indtast et heltal: </label><input name="tal" id="t"
type="text" maxlength="3" size="3" value="<?php echo $_POST['tal']; ?>" />
<input type="submit" value="OK" />
</fieldset>
</form>
<p>Tal 0..49 grøn, 50..99 gul, over 99 rød.</p>
</div>
<?php $tal = $_POST['tal'];
if ($tal < 50) {
$b=gron;
$c=grøn;
}
elseif ($tal>49 && $tal<100) {
$b=gul;
$c=gul;
}
else {
$b=roed;
$c=rød;
}
?>
<h2 class="<?php echo $b; ?>">Denne tekst får farven <?php echo $c ?>.</h2>
</body>
</html>
Kan ses "in action" på:
http://webdesign.ranunkelvej.com/php/index.php
Karl Erik.
--
http://dmwebdesign.dk - DM i Webdesign
http://twitter.com/kechriste
http://webdesign.ranunkelvej.com - Artikler om webdesign
| |
Martin (21-09-2011)
| Kommentar Fra : Martin |
Dato : 21-09-11 11:27 |
|
On 12-09-2011 14:15, Bertel Lund Hansen wrote:
> Om: define ('INFILE', 'guestbook.txt');
> Definitionen betyder at man i resten af koden kan skrive INFILE
> (uden anførselstegn) i stedet for filnavnet. Man kan definere
> hvad som helst på den måde. Det kan gøre koden mere overskuelig,
> men reelt er det ikke anderledes end at skrive navnet fuldt ud
> hver gang. Det har den fordel at man kan ændre filnavnet ét sted,
> og så slår det igennem overalt.
Ahhh, ikke alt kan defineres (nogle gange desværre)
det SKAL være en streng - der kan ikke defineres objekter og/eller arrays
| |
Chano Andersen (22-09-2011)
| Kommentar Fra : Chano Andersen |
Dato : 22-09-11 18:07 |
|
Den 21-09-2011 12:26, Martin skrev:
> On 12-09-2011 14:15, Bertel Lund Hansen wrote:
>> Om: define ('INFILE', 'guestbook.txt');
>> Definitionen betyder at man i resten af koden kan skrive INFILE
>> (uden anførselstegn) i stedet for filnavnet. Man kan definere
>> hvad som helst på den måde. Det kan gøre koden mere overskuelig,
>> men reelt er det ikke anderledes end at skrive navnet fuldt ud
>> hver gang. Det har den fordel at man kan ændre filnavnet ét sted,
>> og så slår det igennem overalt.
>
> Ahhh, ikke alt kan defineres (nogle gange desværre)
>
> det SKAL være en streng - der kan ikke defineres objekter og/eller arrays
Hvorfor det er ca. lidt mere praktisk, at erklære variabler med det man
skal bruge hele tiden. I øvrigt kan arrays, og lignende defineres ved at
bruge strengen man får fra serialize. Men den skal så alligevel
unserializes før eller siden.
- Chano Andersen
| |
Bertel Lund Hansen (23-09-2011)
| Kommentar Fra : Bertel Lund Hansen |
Dato : 23-09-11 01:52 |
|
Martin skrev:
> Ahhh, ikke alt kan defineres (nogle gange desværre)
> det SKAL være en streng - der kan ikke defineres objekter og/eller arrays
Man kan definere talværdier - altså uden strengenes
anførselstegn. Man kan også definere en konstant ved hjælp af et
regnestykke, og man kan benytte PHP's funktioner i definitionen.
define ('LIMIT', 2);
define ('TEST', LIMIT+20);
define ('MAX', pow(2,3)+5);
--
Bertel
http://bertel.lundhansen.dk/ http://fiduso.dk/
| |
|
|