Επεξεργασία στοιχείων χρήστη

Σε αυτή την περιοχή μπορείτε να βρείτε ή να αναζητήσετε πληροφορίες σχετικές με την PHP

Συντονιστές: WebDev Moderators, Super-Moderators, PHP Moderators

Απάντηση
Άβαταρ μέλους
fafos
Script Master
Δημοσιεύσεις: 6235
Εγγραφή: 30 Νοέμ 2004 03:09

Επεξεργασία στοιχείων χρήστη

Δημοσίευση από fafos » 12 Μάιος 2009 21:08

vale auto sthn index: print_r ($_SESSION); (meta to session_start(); )

kane login kanonika kai pes mas an grafei kati sthn index...
Οι πάνες και οι πολιτικοί πρέπει να αλλάζονται συχνά για τον ίδιο λόγο...

Άβαταρ μέλους
korgr
Honorary Member
Δημοσιεύσεις: 5067
Εγγραφή: 07 Οκτ 2008 18:30
Τοποθεσία: Corinth
Επικοινωνία:

Επεξεργασία στοιχείων χρήστη

Δημοσίευση από korgr » 12 Μάιος 2009 21:12

Στο checklogin.php δεν βλεπω να εχεις πανω πανω το session_start() οπως σου λεει ο fafos...
Εκει πρεπει να σπαει η αλυσιδα....

Threshold
Δημοσιεύσεις: 48
Εγγραφή: 02 Μαρ 2009 22:16
Επικοινωνία:

Επεξεργασία στοιχείων χρήστη

Δημοσίευση από Threshold » 12 Μάιος 2009 21:14

Array ( ), το οποίο δείχνει και χωρίς να κάνω login.

@korgr : Άμα το βάλω εκεί τρώω λευκή σελίδα στη μάπα. Το checklogin το καλεί η login.

Άβαταρ μέλους
fafos
Script Master
Δημοσιεύσεις: 6235
Εγγραφή: 30 Νοέμ 2004 03:09

Επεξεργασία στοιχείων χρήστη

Δημοσίευση από fafos » 12 Μάιος 2009 22:07

Threshold έγραψε:Array ( ), το οποίο δείχνει και χωρίς να κάνω login.

@korgr : Άμα το βάλω εκεί τρώω λευκή σελίδα στη μάπα. Το checklogin το καλεί η login.
an pairneis sketh Array ( ), shmainei oti den pernane oi sessions stis selides sou.. to oti tros leukh selida shmainei oti se auto to arxeio vazeis lathos thn session_start(); (isos kapoio keno h BOM xarakthres sto arxeio)

giati den kaneis enable ta errors na vlepeis ti lathi dinei o kodikas?

mesa sto php.ini:

Κώδικας: Επιλογή όλων

error_reporting  =  E_ALL & ~E_NOTICE

display_errors = On

kai epanekinhsh tou Apache
Οι πάνες και οι πολιτικοί πρέπει να αλλάζονται συχνά για τον ίδιο λόγο...

Threshold
Δημοσιεύσεις: 48
Εγγραφή: 02 Μαρ 2009 22:16
Επικοινωνία:

Επεξεργασία στοιχείων χρήστη

Δημοσίευση από Threshold » 12 Μάιος 2009 23:11

Χίλια ευχαριστώ, έσωσα το checklogin χωρίς BOM με το notepad++ και παίζει μια χαρά τώρα. Να 'στε καλά :D

Threshold
Δημοσιεύσεις: 48
Εγγραφή: 02 Μαρ 2009 22:16
Επικοινωνία:

Επεξεργασία στοιχείων χρήστη

Δημοσίευση από Threshold » 13 Μάιος 2009 15:59

Έχω ακόμα ένα προβληματάκι με τη σελίδα που γίνονται edit τα στοιχεία, Όταν κάνω login και πάω να τα κάνω edit τα βλέπω και τα κάνω μια χαρά. Όταν όμως αλλάξω κάποιο στοιχείο και πατήσω το submit μετά δεν βλέπω τίποτα στην φόρμα.

Ο κώδικας που έχω είναι ο εξής:

Κώδικας: Επιλογή όλων

<?php 
session_start&#40;&#41;; 
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http&#58;//www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http&#58;//www.w3.org/1999/xhtml" xml&#58;lang="en" lang="en">
<head>
<title>The information were edited</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link href="style.css" rel="stylesheet" type="text/css" />
</head>

<body>

	<div id="container">
	
		<div id="header">
		
			<h1>*****************</h1>
			
		</div>
		
		<div id="menu">

			<ul>
				<li><a href="index.php">Home</a></li>
				<li><a href="login.php">Login</a></li>
				<li><a href="search.php">Search</a></li>
				<li><a href="registeruser.php">Register Account</a></li>
				<li><a href="edituserinfo.php">Edit Account </a></li>
			</ul>
		
		</div>
		
		<div id="content">

			<?php
				
				require_once&#40;"db.php"&#41;;
				
				$myusername = $_SESSION&#91;'Username'&#93;;
				$mypassword = $_SESSION&#91;'Password'&#93;;
			
					if &#40;$myusername !=''&#41; &#123;
				
						$data = mysql_query &#40;"SELECT PID FROM users WHERE Username='$myusername' AND Password='$mypassword'"&#41; or die &#40;mysql_error&#40;&#41;&#41;; 
						$info= mysql_fetch_array&#40;$data, MYSQL_ASSOC&#41;;
						$PID = $info&#91;'PID'&#93;;
						
						$Password=$_POST&#91;'Password'&#93;;
						$LastName=$_POST&#91;'LastName'&#93;;
						$FirstName=$_POST&#91;'FirstName'&#93;;
						$Age=$_POST&#91;'Age'&#93;;
						$Gender=$_POST&#91;'Gender'&#93;;
						$Hobbies=$_POST&#91;'Hobbies'&#93;;
						$FavouriteColour=$_POST&#91;'FavouriteColour'&#93;;
						$FavouriteArtists=$_POST&#91;'FavouriteArtists'&#93;;
												
						$query= "UPDATE users SET Password='$Password', LastName='$LastName', FirstName='$FirstName', 
						Age='$Age', Gender='$Gender', Hobbies='$Hobbies', FavouriteColour='$FavouriteColour', 
						FavouriteArtists='$FavouriteArtists' WHERE PID='$PID'";
										
						$rs = mysql_query&#40;$query&#41;;
						
							if&#40;!$rs&#41;&#123;
								echo&#40;"<br />There was a mistake."&#41;;
							&#125;	 
							else&#123;
								echo&#40;"<br />User information updated!"&#41;;
							&#125;
						
						&#125;
					
					else &#123;
					
						echo "<p>You can't edit your information if you're not logged in</p>";
					
					&#125;		
			?>
		
		</div>
		
		<div id="footer">
		
			<p>&copy; 2009, ***************************</p>
		
		</div>
	
	</div>

</body>

</html>

Άβαταρ μέλους
fafos
Script Master
Δημοσιεύσεις: 6235
Εγγραφή: 30 Νοέμ 2004 03:09

Επεξεργασία στοιχείων χρήστη

Δημοσίευση από fafos » 13 Μάιος 2009 17:01

kane ena echo $query; na deis mhpos pernaei kati lathos..
Οι πάνες και οι πολιτικοί πρέπει να αλλάζονται συχνά για τον ίδιο λόγο...

Threshold
Δημοσιεύσεις: 48
Εγγραφή: 02 Μαρ 2009 22:16
Επικοινωνία:

Επεξεργασία στοιχείων χρήστη

Δημοσίευση από Threshold » 13 Μάιος 2009 17:09

Πρόσθεσα μία γραμμή $_SESSION['Password']=$Password; λίγο πριν το query και δουλεύει καλά τώρα.

Όταν άλλαζω δηλαδή τον κωδικό πρέπει να αλλάξω και την τιμή του στο session, σωστά;

Κώδικας: Επιλογή όλων

<?php 
session_start&#40;&#41;;
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http&#58;//www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http&#58;//www.w3.org/1999/xhtml" xml&#58;lang="en" lang="en">
<head>
<title>The information were edited</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link href="style.css" rel="stylesheet" type="text/css" />
</head>

<body>

	<div id="container">
	
		<div id="header">
		
			<h1>**************</h1>
			
		</div>
		
		<div id="menu">

			<ul>
				<li><a href="index.php">Home</a></li>
				<li><a href="login.php">Login</a></li>
				<li><a href="search.php">Search</a></li>
				<li><a href="registeruser.php">Register Account</a></li>
				<li><a href="edituserinfo.php">Edit Account </a></li>
			</ul>
		
		</div>
		
		<div id="content">

			<?php
				
				require&#40;"db.php"&#41;;
				
				$myusername = $_SESSION&#91;'Username'&#93;;
				$mypassword = $_SESSION&#91;'Password'&#93;;
			
					if &#40;$myusername !=''&#41; &#123;
				
						$data = mysql_query &#40;"SELECT PID FROM users WHERE Username='$myusername' AND Password='$mypassword'"&#41; or die &#40;mysql_error&#40;&#41;&#41;; 
						$info= mysql_fetch_array&#40;$data, MYSQL_ASSOC&#41;;
						
						$PID = $info&#91;'PID'&#93;;
						$Password=$_POST&#91;'Password'&#93;;
						$LastName=$_POST&#91;'LastName'&#93;;
						$FirstName=$_POST&#91;'FirstName'&#93;;
						$Age=$_POST&#91;'Age'&#93;;
						$Gender=$_POST&#91;'Gender'&#93;;
						$Hobbies=$_POST&#91;'Hobbies'&#93;;
						$FavouriteColour=$_POST&#91;'FavouriteColour'&#93;;
						$FavouriteArtists=$_POST&#91;'FavouriteArtists'&#93;;
						
						$_SESSION&#91;'Password'&#93;=$Password;
												
						$query= "UPDATE users SET Password='$Password', LastName='$LastName', FirstName='$FirstName', 
						Age='$Age', Gender='$Gender', Hobbies='$Hobbies', FavouriteColour='$FavouriteColour', 
						FavouriteArtists='$FavouriteArtists' WHERE PID='$PID'";
										
						$rs = mysql_query&#40;$query&#41;;
						
							if&#40;!$rs&#41;&#123;
								echo&#40;"<br />There was a mistake."&#41;;
							&#125;	 
							else&#123;
								echo&#40;"<br />User information updated!"&#41;;
							&#125;
						
						&#125;
					
					else &#123;
					
						echo "<p>You can't edit your information if you're not logged in</p>";
					
					&#125;		
			?>
		
		</div>
		
		<div id="footer">
		
			<p>&copy; **************************</p>
		
		</div>
	
	</div>

</body>

</html>

Άβαταρ μέλους
fafos
Script Master
Δημοσιεύσεις: 6235
Εγγραφή: 30 Νοέμ 2004 03:09

Επεξεργασία στοιχείων χρήστη

Δημοσίευση από fafos » 13 Μάιος 2009 17:56

den xreiazetai na dhmiourgeis thn session pali.. sto query pou zhtas kane to:
SELECT PID, Password FROM users WHERE Username='$myusername' AND Password='$mypassword'

kai apo kato:

$Password=$info['Password'];
Οι πάνες και οι πολιτικοί πρέπει να αλλάζονται συχνά για τον ίδιο λόγο...

Threshold
Δημοσιεύσεις: 48
Εγγραφή: 02 Μαρ 2009 22:16
Επικοινωνία:

Επεξεργασία στοιχείων χρήστη

Δημοσίευση από Threshold » 13 Μάιος 2009 19:35

Δεν μου κάνει όμως έτσι edit τον κωδικό. Και βασικά με αυτό το τρόπο μου κάνει save τον παλιό κωδικο, όχι τον νέο οπότε ότι και να βάλω στο textbox του κωδικού της προηγούμενης σελίδας θα αποθηκεύεται πάντα ο παλιός.

Άβαταρ μέλους
fafos
Script Master
Δημοσιεύσεις: 6235
Εγγραφή: 30 Νοέμ 2004 03:09

Επεξεργασία στοιχείων χρήστη

Δημοσίευση από fafos » 13 Μάιος 2009 22:30

exeis dikio.. ksexasa oti kaneis edit kai to password edo.. mou fainetai omos parakseno to oti prepei na dhmiourghseis thn session gia to password pali..
Οι πάνες και οι πολιτικοί πρέπει να αλλάζονται συχνά για τον ίδιο λόγο...

Απάντηση

Επιστροφή στο “PHP Προγραμματισμός”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες