PDA

View Full Version : سوال: کار نکردن صحیح فرم



A_2006
جمعه 20 اردیبهشت 1392, 23:46 عصر
سلام دوستان

من یک فایل php دارم که action اون به خودشه و متد post ارسال می کنه.

می خوام یک برنامه بنویسم که کاربر روی button کلیک کنه تعدادشون رو بشماره ولی رو 1 میمونه و دیگه زیاد نمیشه لطفا کمک کنید:گریه:

SilverLearn
جمعه 20 اردیبهشت 1392, 23:50 عصر
عزیز تعداد کاربرا رو نشون بده ؟

یا

تعداد کلیک هایی که کاربران می کنند ؟

:)

A_2006
جمعه 20 اردیبهشت 1392, 23:55 عصر
عزیز تعداد کاربرا رو نشون بده ؟

یا

تعداد کلیک هایی که کاربران می کنند ؟

:)

تعداد کلیکها رو می خوام بشماره

SilverLearn
جمعه 20 اردیبهشت 1392, 23:59 عصر
خوب می تونی از session یا حتی بهتره بگم از کوکی استفاده کنی (سمت کاربر باشه بهتره ) ....
یا اینکه با هر کلیک یک واحد به یک متغییر اضافه کنی و اون رو در یک فایل بلافاصله ذخیره کنی و برای نمایش تعداد کلیک ها فایل رو بارگذاری کنی ........

A_2006
شنبه 21 اردیبهشت 1392, 00:04 صبح
منظورم این نیست که تعداد رو همه جا نشون بده با متغیر سمت کلاینت نمی دونم چرا رو 1 میممونه دوست من اگه کد رو داری بهم بده فرم به خودش ارسال میشه و فقط یک فایل php هست

SilverLearn
شنبه 21 اردیبهشت 1392, 00:11 صبح
من منظورتو نمی فهمم درست
فایلت رو یا اینجا بگذار یا برام پ.خ کن ببینم ...

A_2006
شنبه 21 اردیبهشت 1392, 00:26 صبح
پیغام واست فرستادم

SilverLearn
شنبه 21 اردیبهشت 1392, 00:44 صبح
منم جواب دادم ...
از این به بعد سعی کن سوال خودت رو به صورت دقیق بپرسی با نمونه کدی که فرستاده بودی خوب معلومه که همش همون 1 رو چاپ میکنه چون عملا فقط داری دستور چاپ رو ارسال می کنی
البته برای بار اول اگه کدت رو درست می نوشتی اضاف میشد...

این درست نیست




print $f+=1;


این درسته :



print $f=+1;

majidariamanesh
شنبه 21 اردیبهشت 1392, 08:53 صبح
از متغیر استاتیک استفاده کن که هر بار از حلقه میاد بیرون مقدارش ثابت بمونه

MMSHFE
شنبه 21 اردیبهشت 1392, 09:12 صبح
دوستان چرا اینقدر بنده خدا رو گیج میکنید؟ دوست گرامی، HTML یک زبان Stateless هست یعنی نمیتونه آخرین وضعیت مقادیر رو نگهداری کنه. بخاطر همین هربار که فرم شما Submit میشه، متغیرها دوباره صفر میشن و وقتی یک واحد بهش اضافه میکنید، میشه 1
حالا هزار بار این کلیک کردن رو انجام بدین، نتیجه هر هزار بار میشه 1 چون همیشه 0 بعلاوه 1 میشه 1
برای اینکه مقدار قبلی رو نگه دارین، یا باید اون رو سمت سرور توی فایل ذخیره کنید، یا توی دیتابیس، یا توی سشن و یا سمت کلاینت توی کوکی که البته اگه میخواین در بازدیدهای متوالی با بسته شدن مرورگر و استفاده توسط کاربران مختلف، مقدارها حفظ بشه فقط میتونید از فایل یا دیتابیس استفاده کنید. هربار هم باید مقدار قبلی فایل یا دیتابیس رو بخونید و با 1 جمع کنید.
راستی، += هم کاملاً اشتباهه و چنین عملگری اصلاً توی PHP نداریم. درواقع دلیل اینکه کد برای شما 1 نوشته این بوده که دو دستور زیر یکی هستن:


$x =+ 1;
$x = +1;

برای مثال، قبلش بگین ;5 = x$ و بعد دستور فوق رو اجرا کنید. خواهید دید که باز هم میگه مقدار x عدد 1 هست.
متغیر استاتیک هم در این مورد کار نمیکنه چون فقط در همون اجرای اسکریپت، در هربار فراخوانی تابع یا خروج از حلقه مقدار قبلیش رو حفظ میکنه ولی اگه فرم مجدداً Submit بشه، دوباره از اول مقداردهی میشه.

SilverLearn
شنبه 21 اردیبهشت 1392, 22:19 عصر
سلام

عزیز دلم آقای شهرکی گل ایشون کلا کدش اشتباه بود و اصلا ربطی به php نداشت .... شما خودت کدی رو که برای من فرستاده بود رو ببین :




من یک تازه واردم و دو سه روز بیشتر نیست php کار می کنم
<html>
<head>
</head>
<body>
<form action = "13.php" method = "POST">
<input type = "text" name ="t1" value = "20">

<?php
print $f+=1;
?>
<input type = "submit">
</form>
</body>
</html>