/ 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
Størrelsen på form data
Fra : Pelle Gøeg


Dato : 02-03-03 22:00

Jeg er igang med at lave et lille nyhedssystem i php (med mysql som
database).

Jeg er kommet så langt at jeg vil kalde det i en beta fase..

Nu har jeg så fundet et problem, jeg kan ikke finde ud af hvor fejlen
ligger...

Problemet.
Jeg kan ikke skrive et indlæg større end ca. 1965 tegn. Den vil slet ikke
Submit dataen...

nogle der har kendskab til lignende episoder... diverse fora, phpmyadmin
etc. har ikke noget problem med denne størrelse data i deres forms.

Det er hostet hos azero.

min kode er som følge...

tilfoej_nyhed.php:

<form action="<?php echo "http://".$host."/admin/do_tilfoej_nyhed.php"; ?>"
method="get" name="formular">
<p />Skriv Nyhedens Overskrift herunder<br />
<input type="text" name="title" size="50">
<p />Skriv Nyheds Teksten<br />
<textarea rows="10" cols="50" name="tekst"></textarea>
<br />Fed tekst <b>tekst</b>, kursiv tekst <i>tekst</i>,
understreget tekst <u>tekst</u>
<p />Nyhedens dato<br />
<input type="checkbox" checked="checked" name="date" value="1" /> dags dato
<?php echo date("j/n - Y, H:i:s", time()); ?>
<br />Vælg dato<br />
<input type="int" name="day" size="1" />/<input type="int" name="month"
size="1" /> - <input type="int" name="year" size="3" />, <input type="int"
name="hour" size="1" /><input type="int" name="minute" size="1" /><input
type="int" name="second" size="1" />
<p /><input type="submit"><das
href="javascript:document.formular.submit();">Accepter Nyhed</a>
</form>


do_tilfoej_nyhed.php:
$text = $_GET['tekst'];
$text = strip_tags($text, '<a><ul><li><img>');
$text = nl2br($text);
$text = str_replace("", "<b>", $text);
$text = str_replace("
", "</b>", $text);
$text = str_replace("", "<i>", $text);
$text = str_replace("
", "</i>", $text);
$text = str_replace("[u]", "<u>", $text);
$text = str_replace("[u/]", "</u>", $text);
$text = str_replace("æ", "&aelig\;", $text);
$text = str_replace("Æ", "&AElig\;", $text);
$text = str_replace("ø", "&oslash\;", $text);
$text = str_replace("Ø", "&Oslash\;", $text);
$text = str_replace("å", "&aring\;", $text);
$text = str_replace("Å", "&Aring\;", $text);


$title = $_GET['title'];
if ( $_GET[date] == 1 ) {
$time = time();
} else {
$time = mktime($_GET[hour], $_GET[minute], $_GET[second], $_GET[month],
$_GET[day], $_GET[year]);
}
mysql_query("INSERT INTO esenews ( newsID , title , text , writerID
, time , public ) VALUES ('', '$title', '$text', '$userID', '$time', 'Y')");
$referer = $_SERVER[HTTP_REFERER];
header("Location: $referer");



venligst

Pelle Gøeg
icq: 47749287



 
 
JMo. (02-03-2003)
Kommentar
Fra : JMo.


Dato : 02-03-03 22:07

"Pelle Gøeg" <news.inet.tele.dk@ghostofkathrine.dk> wrote in
news:3e6270cb$0$32005$edfadb0f@dread12.news.tele.dk:

> Problemet.
> Jeg kan ikke skrive et indlæg større end ca. 1965 tegn. Den vil slet
> ikke Submit dataen...

[snip]

> <form action="<?php echo
> "http://".$host."/admin/do_tilfoej_nyhed.php"; ?>" method="get"
> name="formular">

Du bruger GET som http-request-method. Du skal bruge POST når du vil sende
mere end ca 2000 tegn.

(dvs: method="POST" )

> do_tilfoej_nyhed.php:
> $text = $_GET['tekst'];

Her skal du så tilgå variablen med $_POST['tekst']

[snip]

> $title = $_GET['title'];

...og ligeså de andre steder

Jacob Atzen (03-03-2003)
Kommentar
Fra : Jacob Atzen


Dato : 03-03-03 00:44

"JMo." <ns_sf009@mohr.cx> writes:

> Du bruger GET som http-request-method. Du skal bruge POST når du vil sende
> mere end ca 2000 tegn.

Og for at uddybe: Når du bruger GET så bliver alle form data overført
via URL'en - du kan faktisk aflæse dem direkte i browserens
"adressefelt". Når du bruger POST bliver data sendt uden om URL'en.

--
Med venlig hilsen
- Jacob Atzen

Niels Andersen (04-03-2003)
Kommentar
Fra : Niels Andersen


Dato : 04-03-03 15:41

JMo. wrote in <Xns9332E0E7CB970JMoUsenetPost@212.54.64.149>:
>> Jeg kan ikke skrive et indlæg større end ca. 1965 tegn. Den vil slet
>> ikke Submit dataen...
>> <form action="<?php echo
>> "http://".$host."/admin/do_tilfoej_nyhed.php"; ?>" method="get"
>> name="formular">
> Du bruger GET som http-request-method. Du skal bruge POST når du vil sende
> mere end ca 2000 tegn.

Faktisk bør han bruge POST uanset mængden af data.

Jeg har skrevet en lille artikel om det:
http://myplace.dk/articles/getpost/?lang=da

--
Mvh.
Niels Andersen
http://myplace.dk/articles/getpost/?lang=da

Søg
Reklame
Statistik
Spørgsmål : 177503
Tips : 31968
Nyheder : 719565
Indlæg : 6408541
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste