/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Kan ikke hente fra formular
Fra : Britt Malka


Dato : 28-01-04 10:16

Goddag

Jeg er i gang med at lave en blog, hvor man kun skal kunne skrive i et
bestemt stykke tid. Det med tiden går helt fint, men jeg kan ikke få
den til at hente data fra formularen, når tiden er gået.

Først delte jeg det i to filer: index.php og tid.php.

Index.php indeholder kun formularen med to felter (overskrift og blog)
samt en knap (start).

Når der er klikket på Start, tæller tid.php ned. Efter at tiden er
gået, kan jeg godt få den til at skrive starttid og sluttid, og at
tiden er gået, men jeg kan ikke få den til at hente fra formularen og
herefter gemme i en database.

Jeg har bl.a. følgende kode i tid.php:



while ($tid < $slut){
getdate();
$tid = date('Y-m-d H:i:s');
$overskrift = $_REQUEST["overskrift"];
$blog = $_REQUEST["blog"];
}

Jeg har også prøvet at gøre $overskrift og $blog globale, men det
hjælper heller ikke. Den gemmer kun den oprindelige $overskrift (der
er tom) og $blog (også tom).

Men måske skal det gribes helt anderledes an?

Er der nogen her, der har idéer?
--
Britt Malka
Gratis hovedbrud, puslerier og hjernegymnastik: http://www.hovedbrud.com
(Svar ikke til denne e-mail-adresse. Mail slettes på serveren p.g.a. spam)

 
 
Kasper Johansen (28-01-2004)
Kommentar
Fra : Kasper Johansen


Dato : 28-01-04 10:30

"Britt Malka" <news@foxladi.com> skrev i en meddelelse
news:8eve10p29d0ph03t37jcl46t7mbbbsqcvn@4ax.com...

> Men måske skal det gribes helt anderledes an?
> Er der nogen her, der har idéer?

Hej Britt.

Løsningen er måske er bruge javascript, da dette er clientside..! Du kan
evt. få JavaScript til at tælle tid ned og derefter "submitte" din form
automatisk.

Nu ved jeg ikke hvor meget du ved om PHP og JavaScript, så jeg skriver lige
kort hvorfor jeg ikke mener at PHP behøver JavaScript for at få dit script
til at køre korrekt.

PHP er et serverscript, og kører på serveren som brugeren er på. JavaScript
derimod kører på brugerens egen computer, og derfor kan den styre siden på
en anden måde (den behøver f.eks. ikke reloade siden hvis den skal ændre
noget). Dette gør at den kan submitte dine forme automatisk (evt. som i dit
tilfælde efter et bestemt stykke tid er gået).

Du kan læse mere om de funktioner jeg snakker om på:
http://developer.irt.org/script/620.htm

JavaScript ligner faktisk PHP lidt i syntaksten, så du burde ikke have så
store problemer med at finde ud af det ;)

Jeg tror det præcist det du skal bruge, held og lykke til ;)

Mvh
Kasper Johansen



Britt Malka (28-01-2004)
Kommentar
Fra : Britt Malka


Dato : 28-01-04 10:35

"Kasper Johansen" <kasper@johansen.tdcadsl.dk> skrev:

>Jeg tror det præcist det du skal bruge, held og lykke til ;)

Tak for det Jeg har klikket mig ind på dit link og skal til at
læse nu.
--
Britt Malka
Gratis hovedbrud, puslerier og hjernegymnastik: http://www.hovedbrud.com
(Svar ikke til denne e-mail-adresse. Mail slettes på serveren p.g.a. spam)

Britt Malka (28-01-2004)
Kommentar
Fra : Britt Malka


Dato : 28-01-04 11:05

"Kasper Johansen" <kasper@johansen.tdcadsl.dk> skrev:

>JavaScript ligner faktisk PHP lidt i syntaksten, så du burde ikke have så
>store problemer med at finde ud af det ;)

Det lyder som den helt rigtige idé, dér, selv om jeg ikke bryder mig
så meget om JavaScripts, så har du nok ret i, at for at undgå reload
og den slags, så er det løsningen i dette tilfælde.

Imidlertid kan jeg ikke få JavaScriptet til at virke. Den hverken
advarer eller gemmer. Jeg har rettet tiderne til 1 minut og 1 minut
for at kunne teste det lidt hurtigere, og så ser mit test.php dokument
ellers sådan her ud:

<html>
<head>
<title>Test</title>

<script type="text/javascript">
function first() {
alert('Et minut tilbage');
setTimeout('second()',(1000*60*1));
}

function second() {
document.blogform.submit();
}
</script>
</HEAD>

<BODY onLoad="setTimeout('first()',(1000*60*1)">

<form name="blogform" method="post" action="test2.php">
Overskrift: <input name="overskrift" size="50" ><br>
Blogtekst: <TEXTAREA name="blog" rows=10 cols=50></TEXTAREA>
<input type="submit">
</form>

</BODY>
</HTML>

test2.php sender til MySQL-databasen, og den virker, når jeg klikker
på Submit, men idéen er jo, a den skal gemme af sig selv, så jeg
gætter på, at jeg har en fejli i JavaScriptet (som jeg ikke kender ret
meget til).

Kan du se fejlen?
--
Britt Malka
Gratis hovedbrud, puslerier og hjernegymnastik: http://www.hovedbrud.com
(Svar ikke til denne e-mail-adresse. Mail slettes på serveren p.g.a. spam)

Jonas Delfs (28-01-2004)
Kommentar
Fra : Jonas Delfs


Dato : 28-01-04 13:53

"Britt Malka" <news@foxladi.com> skrev i en meddelelse
news:t32f101tobi4m8fqt0psk8s3qecikg5ocq@4ax.com...
> Imidlertid kan jeg ikke få JavaScriptet til at virke. Den hverken
> advarer eller gemmer. Jeg har rettet tiderne til 1 minut og 1 minut
> for at kunne teste det lidt hurtigere, og så ser mit test.php dokument
> ellers sådan her ud:
>
[snip]
> <script type="text/javascript">
> function first() {
> alert('Et minut tilbage');
> setTimeout('second()',(1000*60*1));

Godt nok er jeg ikke javascript-guru, men mon ikke det skal være
setTimeout('second', (1000*60*1)); (dvs uden parenteser efter funktionsnavn)

> }
>
> function second() {
> document.blogform.submit();
> }
> </script>
> </HEAD>
>
> <BODY onLoad="setTimeout('first()',(1000*60*1)">

Det samme herover?

--
Mvh. Jonas Delfs
Freelance webprogrammør: http://delfs.dk




Britt Malka (28-01-2004)
Kommentar
Fra : Britt Malka


Dato : 28-01-04 14:30

"Jonas Delfs" <jonas@NOSPAMdelfs.dk> skrev:

>Godt nok er jeg ikke javascript-guru, men mon ikke det skal være
>setTimeout('second', (1000*60*1)); (dvs uden parenteser efter funktionsnavn)

Jeg prøvede - men det hjalp ikke. Jeg prøvede også at rette "second"
til "anden", men det hjalp heller ikke.
--
Britt Malka
Gratis hovedbrud, puslerier og hjernegymnastik: http://www.hovedbrud.com
(Svar ikke til denne e-mail-adresse. Mail slettes på serveren p.g.a. spam)

René Lønstrup (28-01-2004)
Kommentar
Fra : René Lønstrup


Dato : 28-01-04 16:35

Britt Malka wrote:
<SNIP>
> <BODY onLoad="setTimeout('first()',(1000*60*1)">

> Kan du se fejlen?

Ja, du har glemt at afslutte din setTimeout-parantes efter tidsangivelsen.

Burde være:
<body onload="setTimeout('first()',(1000*60*1))">

Så skulle det gerne virke (det gør min test ihvertfald)


--
Mvh René Lønstrup
min web: http://www.rel7star.dk?r=usenet
min email: se om du kan regne dén ud..



Britt Malka (28-01-2004)
Kommentar
Fra : Britt Malka


Dato : 28-01-04 17:24

"René Lønstrup" <news@rel6+1star.dk> skrev:

>Ja, du har glemt at afslutte din setTimeout-parantes efter tidsangivelsen.

<slå hovedet hårdt mod væggen.avi>

Ja, du har ret! Hvor er det dog indlysende, når først man får det at
vide

Tusind tak for din hjælp

Desværre virker JavaScriptet ikke i Opera, men det virker i MSIE og
Mozilla, og det må jeg så leve med. Medmindre du også lige ved,
hvordan man kan forbedre det til at virke i Opera også?
--
Britt Malka
Gratis hovedbrud, puslerier og hjernegymnastik: http://www.hovedbrud.com
(Svar ikke til denne e-mail-adresse. Mail slettes på serveren p.g.a. spam)

René Lønstrup (30-01-2004)
Kommentar
Fra : René Lønstrup


Dato : 30-01-04 03:17

Britt Malka wrote:
> Tusind tak for din hjælp

np :)

> Desværre virker JavaScriptet ikke i Opera, men det virker i MSIE og
> Mozilla, og det må jeg så leve med. Medmindre du også lige ved,
> hvordan man kan forbedre det til at virke i Opera også?

Hvilken version af Opera bruger du? Jeg har lige tjekket og den test-side
jeg har lavet (ud fra din kode) virker fint i Opera 7.23, - efter at have
fået lukket timeout-parantesen, naturligvis
Du har vel tjekket om javascripts skulle være slået helt fra i din browser,
ikk'?

Jeg har uploadet min test-side, til sammenligning:
http://www.rel7star.dk/misc/test/timeoutSubmit-test.html


--
Mvh René Lønstrup
min web: http://www.rel7star.dk?r=usenet
min email: se om du kan regne dén ud..



Britt Malka (30-01-2004)
Kommentar
Fra : Britt Malka


Dato : 30-01-04 17:49

"René Lønstrup" <news@rel6+1star.dk> skrev:

>Hvilken version af Opera bruger du?

7.23 engelsk.

>Jeg har lige tjekket og den test-side
>jeg har lavet (ud fra din kode) virker fint i Opera 7.23, - efter at have
>fået lukket timeout-parantesen, naturligvis

Det var som ...

>Du har vel tjekket om javascripts skulle være slået helt fra i din browser,
>ikk'?

Ja, det tjekkede jeg. Var ret sikker på, at det ikke var slået fra, og
det var det da heller ikke.

>Jeg har uploadet min test-side, til sammenligning:
>http://www.rel7star.dk/misc/test/timeoutSubmit-test.html

Ja, du har ret. Det virker fint! Der må have været en anden fejl i mit
script så.

Tak Nu er jeg forvirret, men ...
--
Britt Malka
Gratis hovedbrud, puslerier og hjernegymnastik: http://www.hovedbrud.com
(Svar ikke til denne e-mail-adresse. Mail slettes på serveren p.g.a. spam)

Søg
Reklame
Statistik
Spørgsmål : 177559
Tips : 31968
Nyheder : 719565
Indlæg : 6408934
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste