رفتن به مطلب

mrasoul

عضو سایت
  • تعداد ارسال‌ها

    253
  • تاریخ عضویت

  • آخرین بازدید

  • روز های برد

    1

نوشته‌ها ارسال شده توسط mrasoul

  1. با عرض سلام و خسته نباشید . من هر ترفندی رو که زدم نتونستم cdebug رو برای netbeans فعال کنم .


    [XDebug]
    ;zend_extension = "D:\xampp\php\ext\php_xdebug.dll"
    ;xdebug.profiler_append = 0
    ;xdebug.profiler_enable = 1
    ;xdebug.profiler_enable_trigger = 0
    ;xdebug.profiler_output_dir = "D:\xampp\tmp"
    ;xdebug.profiler_output_name = "cachegrind.out.%t-%s"
    xdebug.remote_enable = 1
    xdebug.remote_handler = "dbgp"
    xdebug.remote_host = "127.0.0.1"
    xdebug.remote_port = 90000
    xdebug.trace_output_dir = "D:\xampp\tmp"

    کسی هست بدونه مشکل چیه؟

  2. کد خودتونو به صورت زیر تغییر بدید

    			 $sql="select * from $tbl_name where username='$username'";

    $result= mysql_query($sql,$db_link);
    if ($result==false)
    {
    die(mysql_error());
    }
    $count=mysql_num_rows($result);

    توجه داشته باشید وقتی میخواهید یک مقدار رشته string رو درون کوئری قرار بدید باید داخل کوت قرار بگیره

    مشکل فقط همون کوت بود که اونو قرار دادم ردست شد . خودم اصلا دقت نکرده بودم . اما یه سوال دیگه ؟


    if ($result==false)
    {
    die(mysql_error());
    }

    این رو چرا اضافه کنم به کدهام ؟

    برای ثبت کاربر جدید نیازی به این موارد نیست ، خود وردپرس یه سری توابع داره ، این یه نمونش : http://www.sutanarya...using-a-plugin/

    برای لوگین هم : http://www.sutanarya...-the-right-way/

    ممنون جالب بودن . اما من اصلا کاری به وردپرس نداشتم و فرمی خودم با php نوشتم و کاملا بیربط به وردپرس هستند

  3. من فکر میکنم ممکنه مشکل از متغییر های اتصال به دیتابیس (نام کاربری و پسورد) مشکل داشته باشه :


    $host_username="root";
    $host_password="";

    یه نام کاربری جدید با یه پسورد ایجاد و تست کنید ...

    برای عضویت این فرم فقط اون خطا رو میده اما برای سایر کارها خطایی نمیده . میشه وارد شد . تو صفحه ها رفت از سشن هم استفاده کردم که اون هم درسته و کار میکنه اما وقتی عضو میشم اون خطا رو میده

  4. سلام

    با noteoad++ باز کنید و از منوی Encoding روی utf-8 without BOM تنظیم کنید ببینید حل میشه یا نه.

    خطاهای داده شده


    Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in D:\xampp\htdocs\chapter4\submit.php on line 21
    Warning: Cannot modify header information - headers already sent by (output started at D:\xampp\htdocs\chapter4\submit.php:21) in D:\xampp\htdocs\chapter4\submit.php on line 30

  5. الان که روی هاستینگ امتحان کردم فهمیدم این خطا فقط مختص لوکال هاسته . یکی میتونه بگه چرا روی لوکال هاست این خطا و میده و چیکار باید کنم ؟


    Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in D:\xampp\htdocs\chapter4\submit.php on line 26
    Warning: Cannot modify header information - headers already sent by (output started at D:\xampp\htdocs\chapter4\submit.php:26) in D:\xampp\htdocs\chapter4\submit.php on line 35

  6. با عرض سلام و خسته نباشید . من با استفاده از php یک فرم ساده برای عضویت درست کرده ام . اما خوب این عضویت مشکلاتی رو داره . بعد از عضو شدن ریدایرکت صورت نمیگیره فکر کنم و با این ارور مواجه شدم


    Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in D:\xampp\htdocs\chapter4\submit.php on line 26
    Warning: Cannot modify header information - headers already sent by (output started at D:\xampp\htdocs\chapter4\submit.php:26) in D:\xampp\htdocs\chapter4\submit.php on line 35

    این تمام کدهای مربوط به صفحه signup.php


    <?php
    /*
    * To change this template, choose Tools | Templates
    * and open the template in the editor.
    */
    $host="localhost";
    $host_username="root";
    $host_password="";
    $db_name="db_firstweb";
    $db_link=mysql_connect($host, $host_username, $host_password) or die(mysql_errno());
    mysql_select_db($db_name, $db_link) or die(mysql_errno());
    $tbl_name="tbl_login";
    $username=$_POST["username"];
    $pwd1=$_POST["password1"];
    $pwd2=$_POST["password2"];
    //Write sql code here
    $successfull=FALSE;
    if(strlen($username)>0 && strlen($pwd1)>0 && strlen($pwd2)>0){
    if($pwd1==$pwd2){
    $sql="select * from $tbl_name where username=$username";

    $result= mysql_query($sql,$db_link);
    $count=mysql_num_rows($result);
    if($count == 0){
    $sql="insert into $tbl_name(username,password) values('$username','$pwd1')";
    mysql_query($sql,$db_link);
    $successfull=true; ///Make sure User data submit successfully...
    }
    }
    }
    if($successfull==TRUE){
    header("location: login_success.php");
    }else{
    header("location: signup.php");
    }
    //
    mysql_close($db_link);
    ?>

    کسی میتونه تشخیص بده مشکل از چیه ؟

    من حتی از فرمی که قبل کامل شده بود استفاده کردم که اونم که هیچ مشکلی نداشت روی سیستم من با این مشکل روبه روی میشد . بنظر این فرم فقط با سیستم من این مشکل رو داره

  7. با عرض سلام

    آیا راهی وجود داره که پستهای قدیمی سایت رو بروز رسانی کرد که تو صفحه اصلی نشون داده بشه ؟ یعنی پستی رو که 1 هفته پیش نوشته شده را ویرایش کرد و چیزهایی بهش اضافه کرد و سپس این پست مجددا تو صفحه اصلی نشون داده بشه . مثل حالتی که وقتی پستی رو ارسال میکنی تو صفحه اصلی نشون میده اما خوب اگه پستهای قدیمی رو ویرایش کنی خوب توی صفحه اصلی نشون نمیده

  8. با عرض سلام و خسته نباشید

    من از توابع زیر برای ایجاد بخش شماره صفحات قالب استفاده کرده ام .


    function :
    <?php
    if ( ! function_exists( 'wptools_pagination' ) ) :
    function wptools_pagination() {
    global $wp_query;
    $big = 999999999; // need an unlikely integer
    echo paginate_links( array(
    'base' => str_replace( $big, '%#%', esc_url( get_pagenum_link( $big ) ) ),
    'format' => 'page=%#%',
    'current' => max( 1, get_query_var('paged') ),
    'prev_next' => True,
    'prev_text' => __('<i class="pnr fa-angle-right di-lg"></i>قبلی'),
    'next_text' => __('بعدی<i class="pnl fa-angle-left di-lg"></i>'),
    'total' => $wp_query->max_num_pages
    ) );
    }
    endif;
    ?>

    index:
    <?php wptools_pagination(); ?>

    حالا من میخوام وقتی که کاربر روی مثلا 2 کلیک میکنه و میره به صفحه ی 2 برای این صفحات که از طریق شماره صفحات فراخوانی میشه استایل دلخواه خودم رو بزارم مثلا

    http://localhost/wp/page/2/

    اگر آدرس بالا یکی از صفحات سایت باشه ، میخوام بدونم این صفحه از استایل مربوط به کدوم صفحه به طور پیشفرض استفاده میکنه ؟ از index یا page یا چیزی به غیر از اینا و چطور میتونم این پیشفرض و عوض کنم . البته فکر نکنم از قالب صفحات یا page به طور پیشفرض استفاده کنه چون ظاهرش متفاوت از قسمت برگه های قالبه مثلا بشه :

    http://localhost/wp/paged/2/

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

  9. من از این توی قالبم استفاده کردم


    Php code :
    <?php
    query_posts('cat=1&showposts=6'); ?>
    <?php while (have_posts()) : the_post(); ?>
    <div class="index-post">
    <div class="post-thumb">
    <i class="thumb-icon fa-play-circle"></i>
    <?php
    if ( has_post_thumbnail() ) { ?>
    <a href="<?php the_permalink() ?>"> <img src="<?php bloginfo('stylesheet_directory'); ?>/timthumb.php?src= <?php get_image_url(); ?>&h=160&w=256&zc=1" title="<?php the_title(); ?>" /></a>
    <?php } else { ?>
    <a href="<?php the_permalink() ?>"> <img src="<?php bloginfo('template_directory'); ?>/img/nothumb.hpg" title="<?php the_title(); ?>" /></a>
    <?php } ?>
    Css code :
    .index-post{
    width: 30%;
    margin:22px 1.6% 0 1.73%;
    float: right;
    }
    .index-post-title{
    margin-top:4px;
    height: 40px;
    line-height:15px;
    border: 1px solid #e9ebf2;
    text-align: center;
    }
    .index-post-title h3{
    font-family: BYekan,Tahoma;
    font-weight: normal;
    color: #828282;
    font-size:0.9em;
    }
    .index-post-title a{
    color: #828282;
    }


    البته این فایل رو هم باید بذاری داخل قالبت

    timthumb.php

  10. و البته مشکل دیگه اینه که وقتی نام کرابری یا رمز و اشتباه میزنی و بعد تصحیح میکنی و وارد میکنی تو همون صفحه لاگین میمونی

    من با این یه تیکه کد کاری کرده بودم که کاربر مثل اگه توی صفحه اصلی یا ادامه مطلب روی دکمه لاگین بزنه و بخواد وارد سایت بشه بعد از وارد شدن برگرده به جایی که قبلا بوده حالا یا صفحه اصلی یا ادامه مطلب .


    <input type="hidden" name="redirect_to" value="<?php echo $_SERVER["HTTP_REFERER"] ?>" />

    اما خوب با کد شما وقتی که کاربر رمز و اشتباه و بزنه و تصحیح کنه و وارد شه تو همون صفحه میمونه و ریدیارکت صورت نمیگیره . بهنظر خیلی پیچیده شده و کار سختیه

    و همچنین به مشکلات بالا بیافزایید :

    شما کدی رو برای درخواست رمز عبور به من دادین تو صفحات قبل .

    این کد 3 مشکل داره

    1- وقتی کاربر شناسه وارد میکنه این کد ایراد میگیره و به نظر فقط با ایمیل کار میکنه .

    2- برای کاربران یاهو پسورد ارسال نمیکنه این در صورتی ست که خود وردپرس در قسمت wp-login ایمیل را راسال میکند .

    3- مشکل دیگه اینه که خود وردپرس لینک تصحیح رمز ارسال میکنه اما این کد پسورد رو ارسال میکنه .

  11. دقیقا کاری که گفتین انجام دادم . اما ...

    اصلا نمیتوانم وارد صفحه ی localhost/wordpress/wp-admin بشم هربار اقدام به اینکار میکنم با پیغام پسورد یا شناسه اشتباه مواجه میشم . یعنی وقتی میخوام از داخل صفحه wp-admin وارد سایت شم با این پیغام مواجه میشم و همچنین وقتی هم که وارد میشم با این پیغام مواجه میشم .

    یجورایی انگار نمیزاره من از صفحه wp-admin استفاده کنم برای ورود و وقتی هم از خود صفحه لاگین که ساختم وارد میشم و در صورت درست بودن نام کرابری هم پیغام اشتباه رو نشون میده

  12. برای این مورد شما باید کدی که برای صفحه لاگین بهتون دادم استفاده کنید و هر فرم ورود دیگه ای که در سایتتون هست action برابر با صفحه لاگین بشه

    اگه من اکشن فرم ورود خودمو بزارم login.php خوب این فرم کار نمیکنه اصلا

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

  13. تگ <fieldset> را از داخل فرم پاک کنید ، اگه خط دور نرفت دیگه مربوط میشه به استایل قالبتون

    برای مورد دوم باید مقدار خاصیت action را در فرم ورود برابر با صفحه لاگینی که ساختید بکنید (البته نام مقادیری که ارسال میشن با نام مقادیر فیلد های فرم ورود باید یکی باشه)

    یعنی action="login"

    خوب با اینکار فکر کنم دیگه فرم ورود کار نکنه چون اکشنی براش تعریف شده . من فقط کد فرم ورود رو پیدا کردم و اون رو توی یک صفحه وارد کردم و فرم ساختم

  14. بهتره از افزونه استفاده کنید


    https://wordpress.org/plugins/nice-login-register-widget/screenshots/
    https://wordpress.org/plugins/custom-login/screenshots/
    https://wordpress.org/plugins/wp-custom-login/screenshots/

    نه افزونه فکر خوبی نیست . این فرم کارش تمومه به لطف دوستان امکاناتی که میخوام بهش اضافه شده . اگر بخوام از افزونه استفاده کنم مجددا باید ظاهرش رو با ظاهر قالبم ست کنم که هم زمان بره و هم تو برخی از افزونه ها این کار سخته

  15. از کد های زیر بعنوان یک قالب برگه (page temeplate) استفاده کنید :


    <div class="wrapper">
    <?php
    global $wpdb;
    $error = '';
    $success = '';
    // check if we're in reset form
    if( isset( $_POST['action'] ) && 'reset' == $_POST['action'] )
    {
    $email = trim($_POST['user_login']);
    if( empty( $email ) ) {
    $error = 'Enter a username or e-mail address..';
    } else if( ! is_email( $email )) {
    $error = 'Invalid username or e-mail address.';
    } else if( ! email_exists( $email ) ) {
    $error = 'There is no user registered with that email address.';
    } else {
    $random_password = wp_generate_password( 12, false );
    $user = get_user_by( 'email', $email );
    $update_user = wp_update_user( array (
    'ID' => $user->ID,
    'user_pass' => $random_password
    )
    );
    // if update user return true then lets send user an email containing the new password
    if( $update_user ) {
    $to = $email;
    $subject = 'Your new password';
    $sender = get_option('name');
    $message = 'Your new password is: '.$random_password;
    $headers[] = 'MIME-Version: 1.0' . "\r\n";
    $headers[] = 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
    $headers[] = "X-Mailer: PHP \r\n";
    $headers[] = 'From: '.$sender.' < '.$email.'>' . "\r\n";
    $mail = wp_mail( $to, $subject, $message, $headers );
    if( $mail )
    $success = 'Check your email address for you new password.';
    } else {
    $error = 'Oops something went wrong updaing your account.';
    }
    }
    if( ! empty( $error ) )
    echo '<div class="message"><p class="error"><strong>ERROR:</strong> '. $error .'</p></div>';
    if( ! empty( $success ) )
    echo '<div class="error_login"><p class="success">'. $success .'</p></div>';
    }
    ?>

    <!--html code-->
    <form method="post">
    <fieldset>
    <p>Please enter your username or email address. You will receive a link to create a new password via email.</p>
    <p><label for="user_login">Username or E-mail:</label>
    <?php $user_login = isset( $_POST['user_login'] ) ? $_POST['user_login'] : ''; ?>
    <input type="text" name="user_login" id="user_login" value="<?php echo $user_login; ?>" /></p>
    <p>
    <input type="hidden" name="action" value="reset" />
    <input type="submit" value="Get New Password" class="button" id="submit" />
    </p>
    </fieldset>
    </form>
    </div>

    یه سوال دیگه این خط دور فرم از کجا اومده و چرا نمیره؟!

    باید یه صفحه لاگین جدید ایجاد کنید ، مثل کد قبلی که بهتون دادم کد زیر را در قالب برگه پیاده کنید :

    صفحه لاگین دارم ! اما میخوام کار کنم ریدایرکت به wp-login صورت نگیره وقتی پسورد اشتباه زده میشه . میوام تو همین صفحه پیغام اشتباه داده بشه

  16. مطمئنا با کلیک بر روی دکمه تشکر نمیشود به خاطر اینکار از شما قدردانی کرد اما واقعا کمک بسیار بزرگی را انجام دادید.

    و اما سوال دیگری که دارم ؟! چطور میشه وقتی که کاربر پسورد اشتباه زد به صفحه ی wp-login ریدایرکت نشود و تو همون صفحه لاگین که ساختم بماند؟

  17. یعنی واقعا کسی نمیتونه کمک کنه که چطور ؟

    صفحه فراموشی رمز عبور بسازم و برای این صفحه ، صفحه ریست پسورد بسازم که کلا نسبت به wp-login مجزا بشه ؟ افزونه میخوام . کدهاش رو میخوام

    بعد از اینکارا کاری کنم وقتی رمز عبور رو اشتباه وارد میکنه کاربر به صفحه wp-login نره و تو همین صفحه لاگین خودم پیغام بده

×
×
  • اضافه کردن...