برگزیده های پرشین تولز

تغییر متد برنامه نویسی

peiman

Registered User
تاریخ عضویت
23 فوریه 2003
نوشته‌ها
1,554
لایک‌ها
21
سن
36
ممنون سالار جان
کد کاملش که تو امضای hba هست
اما کد عکس اینه:
<?
session_start();

include('captcha_numbersV2.php');
$captcha = new CaptchaNumbersV2(6);
$captcha -> display();

$_SESSION['captcha'] = $captcha -> getString();
?>

یه سوال دیگه هم دارم
این session_start(); چه کار میکنه؟
ممنون
 

sama_sally

Registered User
تاریخ عضویت
5 آپریل 2005
نوشته‌ها
2,598
لایک‌ها
1
سن
35
محل سکونت
Essen, Deutschland
session_start یک جلسه رو شروع میکنه یه سرچ بزن یکی دو صفحه پیش در موردش کامل توضیح دادیم
 

hba

کاربر فعال صفحات داینامیک
کاربر فعال
تاریخ عضویت
8 آگوست 2004
نوشته‌ها
1,511
لایک‌ها
1
سن
39
محل سکونت
تهران-ونک-php-mysql
ببین کلا چیز هایی که می نویسیم راحت نمی شه ادیت کرد به دلایلی این طوری کار می کنیم
برای ساده شدن راه گذاشته ایم فایل captcha_numbersV2.php روو ادیت کن و در خط 11 که نوشته var
PHP:
$captchaType =

این طوری تغییرش بده
PHP:
var $captchaType = 'digits';

یعنی چند خط اولش این شکلی می شه

PHP:
<?
class CaptchaNumbersV2 {
	var $length = 5;
	var $font = 'tahoma';
	var $size = 20;
	var $type = 'png';
	var $height = 30;
	var $width = 60;
	var $grid = 13;
	var $string = '';
	var $captchaType = 'digits';

		
	function CaptchaNumbersV2($length = '', $size = '', $type = '', $captchaType = '') {

سخت نبود پیدا کردنش ها
ممنون
 

peiman

Registered User
تاریخ عضویت
23 فوریه 2003
نوشته‌ها
1,554
لایک‌ها
21
سن
36
ممنون میرم اجراش کنم
یه سوالی(اینو تو یه تاپیک دیگه نوشتم صاحبش شاکی شد)
از چی برای اجرای php رو لوکال استفاده کنم
من از easyphp 1.8 استفاده میکنم اما وقتی میخوام یه فرم بفرستم میگه متغیر هایی که تو فرمم استفاده کردم رو نمیشناسه
می تونید کمکم کنید؟
 

sama_sally

Registered User
تاریخ عضویت
5 آپریل 2005
نوشته‌ها
2,598
لایک‌ها
1
سن
35
محل سکونت
Essen, Deutschland
میشناسه شما باید وقتی یه متغیر رو با فرم ارسال میکنید تویه صفحه مقصد اینطوری ازش استفاده کنی:
PHP:
$_POST['variable'];
$HTTP_POST_VARS['variable'];
در این مورد هم بارها و بارها توضیح دادیم! برای کلمه register_globals همینجا یه سرچ بزن
 

hba

کاربر فعال صفحات داینامیک
کاربر فعال
تاریخ عضویت
8 آگوست 2004
نوشته‌ها
1,511
لایک‌ها
1
سن
39
محل سکونت
تهران-ونک-php-mysql
اونها که دادم حتما کار می کنه
اگه می خواهی از یه چیز خوب استفاده کنی xxamp هست این easyphp رو session هم بد کار می کنه
این که سالار هم گفته کاملا درسته
 

peiman

Registered User
تاریخ عضویت
23 فوریه 2003
نوشته‌ها
1,554
لایک‌ها
21
سن
36
ممنون
بابت کد هم ممنون حداقل ارقام کوچیک بزرگ ندارن
در مورد کد هم واقعا نمی دونم چه کار کنم حتی برای یه echo ساده هم ارور میده ببینید
برای فرم

PHP:
<center>
<form method="POST" action="http://127.0.0.1/works/a.php" style="text-align: center">
first name:<input type="text" name="name" ><br />
first name:<input type="text" name="lname" ><br />
mailadres:<input type="text" name="mail" ><br />
comments:<input type="text" name="com" ><br />
<input type=submit name=submit value=submit> 
<input type=reset name=reset value=reset>
</form>
و برای ارسال به دیتا بیس هم:
PHP:
<?php
//$array["firstname"]=trim($array["firstname"]);
//$array["lastname"]=trim($array["lastname"]);
//$array["email"]=trim($array["email"]);
//$array["comments"]=trim($array["comments"]);

//$host="localhost";
//$user="root";
//$password="";
//$dbname="test";
//$table="t1";
//$link=mysql_connect($host,$user,$password);
//$query="INSERT into $table values('0','$_POST[firstname]','$_POST[lastname]','$array[email]','$array[comments]')";
//echo('the query is <br />$query\n');
//if (mysql_db_query($dbname,$query,$link)){
//        echo'ok,it saved';

//}       else {
//        echo('Oops,i cant save it');
//}

 echo("$_POST['name']; <br>\n");
 echo("$_POST['lname']; \n");
?>
همونطور که میبینید برای تست فقط یه echo گذاشتم که اونو کار نمی کنه از کدی که سالار هم گفت استفاده کردم اما بازم ارور میداد(البته نمی دونم درست استفاده کردم یا نه)
واقعا شرمنده که برای یه کد ساده اینقدر گیر میدم
 

peiman

Registered User
تاریخ عضویت
23 فوریه 2003
نوشته‌ها
1,554
لایک‌ها
21
سن
36
Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING' in c:\program files\easyphp1-8\www\works\a.php on line 22

خط 22:
echo("$_POST['name']; <br>\n");
 

peiman

Registered User
تاریخ عضویت
23 فوریه 2003
نوشته‌ها
1,554
لایک‌ها
21
سن
36
ممنون سالار جان
من تا حالا چندین بار سعی کردم که پی اچ پی یاد بگیرم اما هر بار به خاطر یه مشکلی بی خیالش شدم
بهتره همون لوکال برنامه نویسی کنم php هم باشه یه وقت دیگه

پی نوشت:سالار جان با کدی که شما دادی دقیقا همون ارور قبلی رو میده
 

peiman

Registered User
تاریخ عضویت
23 فوریه 2003
نوشته‌ها
1,554
لایک‌ها
21
سن
36
انشاء؟
املا؟
دوتا کلمه چهارتا کاراکتر که املا و انشا نداره فقط مینویسم echo با همون فرمی که تو صفحه قبل گزاشتم و با کداسکرپتی که شما گذاشتی
 

Parsa_361

کاربر فعال صفحات داینامیک
کاربر فعال
تاریخ عضویت
5 آگوست 2005
نوشته‌ها
889
لایک‌ها
10
محل سکونت
Isfahan, php.ini
:eek:
سالار ! از برنامه نویس حرفه ای مثل تو واقعاً بعیده !!!
یه چیز خیلی ساده
فرم هاتو تاحالا اینجوری میفرستادی ؟ :D

آرایه رو نمیشه تو رشته چاپ کرد
djpeiman جان کدت رو به این تغییر بده :
PHP:
<?PHP
echo($_POST['name'] . "<br>\n");  
echo($_POST['lname'] . "\n");
?>
:D ;)
 

peiman

Registered User
تاریخ عضویت
23 فوریه 2003
نوشته‌ها
1,554
لایک‌ها
21
سن
36
ممنون درست شد
یه خورده امیدوار شدم به زندگی
 

peiman

Registered User
تاریخ عضویت
23 فوریه 2003
نوشته‌ها
1,554
لایک‌ها
21
سن
36
حالا یه سوال دیگه دارم
چطور میشه فهمید یه table تو دیتا بیس وجود داره یا اصلا خود دیتا بیس وجود داره یانه؟
میخوام اگه نبود خودش بسازه بعد اطلاعات رو وارد کنه
کد ساختنش رو نوشتم اما کد چک کردن رو نمی دونم
 

hba

کاربر فعال صفحات داینامیک
کاربر فعال
تاریخ عضویت
8 آگوست 2004
نوشته‌ها
1,511
لایک‌ها
1
سن
39
محل سکونت
تهران-ونک-php-mysql
می تونی ساده ببینی اگر Select کردی چیزی نیومد یعنی نیست ولی دستور برای چک کردنش هم داره

یه query ساده:
PHP:
CREATE TABLE IF NOT EXISTS `messages` (
  `id` int(11) NOT NULL auto_increment,
  `name` text,
  `lastname` text,
  `username` text,
  `email` text,
  `subject` text,
  `message` text,
  PRIMARY KEY  (`id`)
) AUTO_INCREMENT=2 ;

یعنی اون اول رو ببین

PHP:
CREATE TABLE IF NOT EXISTS `messages`
 

peiman

Registered User
تاریخ عضویت
23 فوریه 2003
نوشته‌ها
1,554
لایک‌ها
21
سن
36
ممنون
میشه اینو ببینید؟
وقتی کد رو به این شکل اجرا میکنم ارور میده:
PHP:
<?php
      /*
$array["firstname"]=trim($array["firstname"]);
$array["lastname"]=trim($array["lastname"]);
$array["email"]=trim($array["email"]);
$array["comments"]=trim($array["comments"]);
       */
$host="localhost";
$user="root";
$password="";
$dbname="test";
$table="t1";      /*
$name=$_POST['name'];
$lname=$_POST['lname'];
$mail=$_POST['mail'];
$com=$_POST['com'];      */
$link=mysql_connect($host,$user,$password);
//$query="INSERT into $table values('0','$name','$lname','$mail','$com')";
$query="INSERT into $table values('0',$_POST['name'],$_POST['lname'],$_POST['mail'],$_POST['com'])";
echo("the query is <br />$query\n");
if (mysql_db_query($dbname,$query,$link)){
        echo'ok,it saved';

}       else {
        echo('Oops,i cant save it');
}


?>

ارور:
PHP:
Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING' in c:\program files\easyphp1-8\www\works\a.php on line 19

اما وقتی به این شکل اجرا میکنم مشکلی نداره:
PHP:
<?php
      /*
$array["firstname"]=trim($array["firstname"]);
$array["lastname"]=trim($array["lastname"]);
$array["email"]=trim($array["email"]);
$array["comments"]=trim($array["comments"]);
       */
$host="localhost";
$user="root";
$password="";
$dbname="test";
$table="t1";
$name=$_POST['name'];
$lname=$_POST['lname'];
$mail=$_POST['mail'];
$com=$_POST['com'];
$link=mysql_connect($host,$user,$password);
$query="INSERT into $table values('0','$name','$lname','$mail','$com')";
//$query="INSERT into $table values('0',$_POST['name'],$_POST['lname'],$_POST['mail'],$_POST['com'])";
echo("the query is <br />$query\n");
if (mysql_db_query($dbname,$query,$link)){
        echo'ok,it saved';

}       else {
        echo('Oops,i cant save it');
}
?>
میشه راهنماییم کنید؟
 

hba

کاربر فعال صفحات داینامیک
کاربر فعال
تاریخ عضویت
8 آگوست 2004
نوشته‌ها
1,511
لایک‌ها
1
سن
39
محل سکونت
تهران-ونک-php-mysql
ببین چون text هست باید داخل دو تا ' از این هاباشه برای همین اونطوری که می دی ' نداره
 

Parsa_361

کاربر فعال صفحات داینامیک
کاربر فعال
تاریخ عضویت
5 آگوست 2005
نوشته‌ها
889
لایک‌ها
10
محل سکونت
Isfahan, php.ini
نه حامد جان او ارور دیتابیس اگه میخواد اون ارور رو ببینه باید از ()mysql_error استفاده کنه
اینم دقیقاً همون اشتباه قبلیه !
بین دوتا " یا ' نمیشه آرایه رو چاپ کرد !
این کد رو ببینید : (غلطه)
PHP:
"my name is $_POST['name']"
درستش اینه :
PHP:
"my name is " . $_POST['name']
ok ؟
 
بالا