डेटाबेस त्रुटि मदद, डीबगिंग

<?php
include('DBconnect.php');

if(isset($_POST['submit']))
{
    $password=trim($_POST['password']);
    $password2=trim($_POST['password2']);

    if($password==true && $password1==true)
    {
        $changepass = mysqli_query($mysqli,"UPDATE nweth1_firstdb SET Password = '$password' WHERE ID = ".$_SESSION["ID"]) or die(mysql_error());
        $q1 = mysqli_fetch_array($changepass);

        if ((strlen($password)) > 6) 
        {
                   //Password meets requirements
                    if ($password == $password2) 
                    {
                        //Passwords match, update the password in the database
                    }
                    else 
                    {
                    echo "

Incorrect username and password

"; } } else { echo "

Incorrect username and password

"; } } } ?>

मैं इस सरल परिवर्तन पासवर्ड क्वेरी में समस्या का पता नहीं लगा सकता। क्या यह $ _ सत्र ["आईडी"] के कारण है .... शायद यह गलत है।

यदि यह गलत है तो मैं उस उपयोगकर्ता के लिए पासवर्ड कैसे बदल सकता हूं जो लॉग ऑन है। इसे वर्तमान उपयोगकर्ता को इंगित करना है

1
<कोड> $ पासवर्ड == सच ? तुम क्या चाहते हो?
जोड़ा लेखक Raptor, स्रोत
क्या आपका मतलब ! खाली ($ पासवर्ड) है?
जोड़ा लेखक Raptor, स्रोत
जब उपयोगकर्ता पासवर्ड अपडेट करता है तो यह डेटाबेस अपडेट करेगा
जोड़ा लेखक NYCity, स्रोत
मेरे पास session_start() है; शामिल ( 'DBconnect.php'); मूल कोड में। सब कुछ मेरे लिए सही लगता है। कोई विचार
जोड़ा लेखक NYCity, स्रोत
पासवर्ड 2 के बारे में महान पकड़। हालांकि, यह अभी भी काम नहीं करता है
जोड़ा लेखक NYCity, स्रोत
एक बात के लिए, आपको यह अगर ($ password == true && $ password1 == true) में बदलना होगा (अगर पासवर्ड == सत्य और $ $2 == सत्य) चूंकि आपके पास $ password2 = trim ($ _ POST ['password2'] है);
जोड़ा लेखक Funk Forty Niner, स्रोत
इस बिंदु पर, आपको खेलने के तत्वों के साथ var_dump() का उपयोग करने की आवश्यकता है। उदाहरण के लिए var_dump ($ _ सत्र); और देखें कि आप $ _ सत्र ["आईडी"] को परिभाषित करने के लिए एक चर का उपयोग कैसे कर सकते हैं और देखें कि क्या आप $ _ सत्र बदलते हैं [ "आईडी"] अपने डीबी से मौजूदा <कोड> आईडी के साथ देखें कि आउटपुट क्या होगा।
जोड़ा लेखक Funk Forty Niner, स्रोत
आप $ _ सत्र ["आईडी"] को किस प्रकार से शुरू करने के लिए परिभाषित कर रहे हैं? मैं लॉग इन के लिए एक समान विधि का उपयोग करता हूं जहां मैं इसे इस तरह से परिभाषित करता हूं $ userName = mysqli_real_escape_string ($ db, $ _ POST ['username']); <= session_start() से पहले उसके बाद session_start (); $ _ सत्र ['आईडी'] = mysqli_real_escape_string ($ db, $ _ POST ['username']);
जोड़ा लेखक Funk Forty Niner, स्रोत
और आपकी क्वेरी $ changepass = mysqli_query ($ mysqli, "अद्यतन nweth1_firstdb SET पासवर्ड = '$ पासवर्ड' कहां आईडी = '"। $ _SESSION [' userName ']। "' LIMIT 1") या मरें (mysql_error ()); आपके पास आपकी मौजूदा क्वेरी में एक गायब " btw है। मैं यह भी सुझाव देता हूं कि आप <डीबी> session_start (); को अपने डीबी कनेक्शन के साथ शामिल न करें फ़ाइल। इसे कहीं और शामिल करने की आवश्यकता हो सकती है। सत्र बहुत मुश्किल हैं।
जोड़ा लेखक Funk Forty Niner, स्रोत

3 उत्तर

आपके पास अपने PHP कोड पर session_start() नहीं है।

इसे जोड़ें

<?php
session_start();//<-- Here
include('DBconnect.php');

//.... rest of code ......
1
जोड़ा

$ पासवर्ड * 2 * = ट्रिम ($ _ पोस्ट [ 'password2']);

और उसके बाद $ पासवर्ड * 1 * == सत्य

लेखन त्रुटि है?

0
जोड़ा
मुझे लगता है कि $ password1 अपरिभाषित है
जोड़ा लेखक Nikita U., स्रोत
अगर ($ पासवर्ड == सत्य और $ $ 1 == सत्य) लेना कोड काम नहीं करता है।
जोड़ा लेखक NYCity, स्रोत

आपको सत्र शुरू करना है।

session_start();
0
जोड़ा