Odze Posted March 5, 2004 Report Share Posted March 5, 2004 Tātad problēma ir tā, ka spiežot refresh pogu komentārs atkal pievienojas. Es sprotu, ka lai tas tā nenotiktu padotajiem mainīgajiem ir jābūt tukšiem, bet kā to panākt? Dažas tēmas iepriekš viens cilvēks jau to vaicāja, bet es nezinu, kas tie hederi tādi ir un ko nozīmē redirekts uz to pašu lapu. Ja kāds var paskaidrot sīkāk par šim lietām lūdzu palīdziet. P.S. Pats biju izdomājis tādu variantu, ka pievienojot jaunu ierakstu datu bāzē tas tiek salīdzināts ar iepriekšējo, ja ieraksti sakrīt, tad nepievieno. Link to comment Share on other sites More sharing options...
sviesc Posted March 5, 2004 Report Share Posted March 5, 2004 moš šis te Tev palīdzēs <? $comments1 = strip_tags($comments); $comments1 = nl2br($comments1); $comments1 = substr($comments1, 0, 2500); $comments1 = ereg_replace("([^ ]{55})","\\1<br>",$comments1); $datumsc = date("d.m.Y H:i:s"); //nodefinejam datumu MYSQL_CONNECT(localhost,user,pass) OR DIE ("nav servera"); mysql_select_db("sviesc") or DIE ("Nav DB."); if (sizeof($_POST)>0){ mysql_query("INSERT INTO coments (id,name, text, raxta_id, date, ip, email, http) VALUES (NULL,'$names','$comments1', '$raxta_id', '$datumsc','$ip','$email','$http')") OR die(mysql_error()); header("Location: read.php?id=$raxta_id"); } ?> pats lietoju no problem Link to comment Share on other sites More sharing options...
Odze Posted March 8, 2004 Author Report Share Posted March 8, 2004 šis kods man neko nepalidz, jo te pat forma nav. Starp citu ko dara šī header("Location: read.php?id=$raxta_id"); rindiņa??? Link to comment Share on other sites More sharing options...
rnc Posted March 8, 2004 Report Share Posted March 8, 2004 šis kods man neko nepalidz, jo te pat forma nav.Shis kods tikai apstraaadaa no formas padotos datus. Starp citu ko dara šī header("Location: read.php?id=$raxta_id"); rindiņa??? Shii rindinja redirektee lietotaaju uz noraadiito lapu :) Link to comment Share on other sites More sharing options...
LorDRameX Posted March 8, 2004 Report Share Posted March 8, 2004 principaa vis pareizaakais buutu formu apstraadaat citaa php faila un tad ar header location atgriezt komentaaru lapaa savaadaak janemaldos tad ar trefresh lagaa neavr ciiniities... tipo: <form action="add_comment.php"> <input type="text" /> <input type="submit"> </form> un add_comment.php daram visu kas jaadara ar ievaddatiem header(Location: "$_SERVER[HTTP_REFERER]") par kodu neatbildu raxtitis uz atru roku bet galvenasi ir doma... Link to comment Share on other sites More sharing options...
rnc Posted March 8, 2004 Report Share Posted March 8, 2004 principaa vis pareizaakais buutu formu apstraadaat citaa php faila un tad ar header location atgriezt komentaaru lapaa savaadaak janemaldos tad ar trefresh lagaa neavr ciiniities... Mmm..imho ja to pashu lapu paarlaadee veelreiz tad visi mainiigie buus pazudushi, so, var iztik ari ar vienu lapu. Link to comment Share on other sites More sharing options...
Odze Posted March 9, 2004 Author Report Share Posted March 9, 2004 Ko izdara šī rindiņa - header(Location: "$_SERVER[HTTP_REFERER]") Iztīra mainīgos? Link to comment Share on other sites More sharing options...
Odze Posted March 10, 2004 Author Report Share Posted March 10, 2004 Palīdziet!!! Link to comment Share on other sites More sharing options...
trinklins Posted March 10, 2004 Report Share Posted March 10, 2004 (edited) funcija redirect("lapa.php","maisigais=7&mainigais2=3") Function redirect($strURL, $strQueryString = "") { $strQueryString = urlSafe($strQueryString); header ("Location: $strURL?$strQueryString"); header ("QUERY_STRING: $strQueryString"); exit; } iespējams noderēs ;) Edited March 10, 2004 by trinklins Link to comment Share on other sites More sharing options...
sviesc Posted March 10, 2004 Report Share Posted March 10, 2004 Ko izdara šī rindiņa - header(Location: "$_SERVER[HTTP_REFERER]")Iztīra mainīgos? labrīt tā vienkārši aizsūta datu ievadītāju uz lapu no kuras tas atnāca par to ka tas mans scripts Tev nepalīdz rodas jautājus ko tad Tu īsti vēlies darīt? tas ir jau gatavs kometu pievienošanas fails kurš pie tam vel izfiltre tava mīļā apmeklētāja textu... <? $comments1 = strip_tags($comments); // izmetam visus html tagus $comments1 = nl2br($comments1); // n partaisam par <br> $comments1 = substr($comments1, 0, 2500);// atlaujam postēt tikai 2500 simbolus $comments1 = ereg_replace("([^ ]{55})","\\1<br>",$comments1); // ik pēc 55 simboliem liekam <br> $datumsc = date("d.m.Y H:i:s"); //nodefinejam datumu MYSQL_CONNECT(localhost,user,pass) OR DIE ("nav servera"); mysql_select_db("sviesc") or DIE ("Nav DB.");// konektējamies pie servera if (sizeof($_POST)>0){ //parliecinamies vai posts ir noticis mysql_query("INSERT INTO coments (id,name, text, raxta_id, date, ip, email, http) VALUES (NULL,'$names','$comments1', '$raxta_id', '$datumsc','$ip','$email','$http')") OR die(mysql_error()); // ievietojam datus iekš db header("Location: read.php?id=$raxta_id"); // sūtam posteri kur mees to velamies } ?> Link to comment Share on other sites More sharing options...
sviesc Posted March 10, 2004 Report Share Posted March 10, 2004 funcija redirect("lapa.php","maisigais=7") Function redirect($strURL, $strQueryString = "") { $strQueryString = urlSafe($strQueryString); header ("Location: $strURL?$strQueryString"); header ("QUERY_STRING: $strQueryString"); exit; } iespējams noderēs ;) šaubos vai šo te scriptu viņš sapratīs :) Link to comment Share on other sites More sharing options...
Aleksejs Posted March 10, 2004 Report Share Posted March 10, 2004 (edited) header, kā jau tu droši vien manuālī izlasīji ;), nosūta klientam HTTP hederi. Šajā gadījumā Location:. Location hederis liek klientam slēgties klāt tai lapai, kas seko pēc Location. Šajā gadījumā - tai lapai no kurienes cerams, varbūt klients nokļuva lapā ($_SERVER[HTTP_REFERER]). Kad notiek šāds pasākums, klients atmet visus līdzšinējos $_REQUEST (POST un GET) mainīgos un slēdzas klāt norādītajai lapai (iespējams ar jauniem GET mainīgajiem, ja tos norāda iekš Location hedera). Edited March 10, 2004 by Aleksejs Link to comment Share on other sites More sharing options...
Odze Posted March 10, 2004 Author Report Share Posted March 10, 2004 Kaa tiek noskaidrots, ka ir nospista submit poga vai refresh? Link to comment Share on other sites More sharing options...
trinklins Posted March 10, 2004 Report Share Posted March 10, 2004 (edited) <INPUT TYPE="submit" NAME="btnSubmit" VALUE="ok"> <? if ($btnSubmit) // nokontrolē submit pogu {...} ?> vēl viens variants <? If ($HTTP_POST_VARS["btnSubmit"] != "") {...} ?> Edited March 10, 2004 by trinklins Link to comment Share on other sites More sharing options...
Aleksejs Posted March 10, 2004 Report Share Posted March 10, 2004 Tieši tādēļ, ka PHP to nevar zināt - tiek taisītas šādas viltības. Visi tev piedāvātie skripti - vienkārši neļauj Nx aizsūtīt vienu un to pašu POST/GET, jo uzreiz pie saņemšanas aizmet uz citu lapu (un šī procesa rezultātā, kā jau teicu, klients zaudē iepriekšējāš POST/GET vērtības). Link to comment Share on other sites More sharing options...
Recommended Posts