Temos pavadinimas: WordPress, Shopify ir PHPFusion programuotojų bendruomenė :: Untitled klausimėliai

Parašė untitled· 2009 Rugp. 9 14:08:00
#1

Tai va. Prisireikė keletą dalykų sužinot. Tai, kad neprikurčiau daug nereikalingų temų paklausinėsiu čia.

1. Kokia PHP funkcija (ar skripas, etc.) patikrina, ar iš formos gautas kintamasis (POST metodu) „tuščias“ ar ne?

2. Kaip sumuoti „downloadus“? (Ta prasme kai pvz.: būtų paprastas puslapis su Download mygtuku). Neseniai buvau sumąstęs vieną - paspaudus Siųstis redirectas į *.php failiuką. MySQL'e download'as +1. Tada iš to failiuko į siuntimosi saitą. O ar yra optimalesnis būdas?

Iš anksto dėkui už pagalbą :)

Parašė Peacemaker· 2009 Rugp. 9 14:08:25
#2

Dėl pirmo kažką radau, nors gal ir ne tai, ko tau reikia:

<?php

$item = "action";
if (!empty($_POST[$item]) || !empty($_GET[$item]))
    {
    $action = (!empty($_POST[$item])) ? $_POST[$item] : $_GET[$item];
    }
else
    {
    $action = '';
    }

?>




KItas būdas - if (sizeof($_POST) > 0){


Arba:

<?php
foreach ($_POST as $value)
{
if( $value == NULL )
echo "-99";
else
echo $value;



Redagavo Peacemaker· 2009 Rugp. 9 15:08:02

Parašė Kelmas· 2009 Rugp. 9 15:08:29
#3

Peacemaker parašė:
Dėl pirmo kažką radau:

<?php

$item = "action";
if (!empty($_POST[$item]) || !empty($_GET[$item]))
    {
    $action = (!empty($_POST[$item])) ? $_POST[$item] : $_GET[$item];
    }
else
    {
    $action = '';
    }

?>




Kam tokio ILGO kodo? :)

<?php
if (isset($_POST['testas'])) {
echo "egizstoja";
}
?>




O dėl antro - galima sukurt lentelė "siuntiniai" ir ten saugoti siuntinio_url, siuntinio_pavadinimas, atsisiunte_siuntini laukelius. O tada PHP kode nukreipti į GET['siustis'] o ten padaryti kad uždėtu 1+, o paskui nukreiptu į ta URL kur stovi siuntinys [man atrodo šitas variantas gerausias]

Padariau kodo pavyzdi. :)

// Tikriname ar kažkas iškvietė GET['siustis']
if (isset($_GET['siustis'])) {
// Patikriname ar buvo įvestas skaičius ir ar siuntinis egzistoja DB ir jeigu siuntnis nezgistoja ar į GET['siustis'] buvo vedami ne skaičiai išmesim ERROR!
if (!preg_match("/^[0-9]+$/", $_GET['siustis']) && !@mysql_num_rows(@mysql_query("SELECT siuntinio_id FROM siuntiniai WHERE siuntinio_id = '".$_GET['siustis']."' LIMIT 1")) die("ERROR!");
// Atnaujiname "atsisiunte_siuntini" lauką ir jam pridedam +1
@mysql_query("UPDATE siuntiniai SET atsisiunte_siuntini = atsisiunte_siuntini+1 WHERE siuntinio_id = '".$_GET['siustis']."' LIMIT 1");
// Pasimame informaciją kuria naudosime paskui
$data = @mysql_fetch_assoc(@mysql_query("SELECT siuntinio_url FROM siuntiniai WHERE siuntinio_id = '".$_GET['siustis']."' LIMIT 1"));
// Nukreipiame kur siuntinis stovi
header("Location: ".$data['siuntinio_url']);
exit;
// Ir koda užbaigiame
}



Redagavo Kelmas· 2009 Rugp. 9 15:08:43

Parašė untitled· 2009 Rugp. 9 15:08:11
#4

Ačiū už pagalbą :). Dragelis - pirmam poste tokį pat būdą ir išdėsčiau (tik arba kažką suvėliau, arba tavo būdą ne iki galo supratau)

Redagavo untitled· 2009 Rugp. 9 15:08:00