Όχι εγγραφή αν υπάρχει ήδη καταχώρηση...

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

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

Απάντηση
rafinos
Δημοσιεύσεις: 301
Εγγραφή: 15 Μάιος 2011 00:20
Επικοινωνία:

Όχι εγγραφή αν υπάρχει ήδη καταχώρηση...

Δημοσίευση από rafinos » 24 Δεκ 2011 15:58

Γεια σας και Χρόνια Πολλά!

Θα σας παραθέσω ένα κομμάτι php κώδικα για την εισαγωγή μιας διεύθυνσης σε έναν πίνακα για διευθύνσεις...

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

<?php
	session_start&#40;&#41;;
	
	header&#40;"Content-type&#58; text/html;charset=UTF-8"&#41;;
	
	if&#40;$_SESSION&#91;'username'&#93;&#41;&#123;
	
		include "connect.php";
		
		$street = mysql_real_escape_string&#40;$_POST&#91;'street'&#93;&#41;;
		$number = mysql_real_escape_string&#40;$_POST&#91;'number'&#93;&#41;;
		$city = mysql_real_escape_string&#40;$_POST&#91;'city'&#93;&#41;;
		$post_code = mysql_real_escape_string&#40;$_POST&#91;'post_code'&#93;&#41;;
		$address_type = mysql_real_escape_string&#40;$_POST&#91;'address_type'&#93;&#41;;
	
		$result = mysql_query&#40;"SELECT id FROM user_data WHERE username='".$_SESSION&#91;'username'&#93;."'"&#41;;
		$count = mysql_num_rows&#40;$result&#41;;
		
		if&#40;$count == 1&#41;&#123;
			while&#40;$row = mysql_fetch_assoc&#40;$result&#41;&#41;&#123;
				$user_id = $row&#91;'id'&#93;;
			&#125;
		&#125;
		
		$result = mysql_query&#40;"SELECT address_type FROM address WHERE user_id='$user_id'"&#41;;
		$count = mysql_num_rows&#40;$result&#41;;
		
		if&#40;$count > 0&#41;&#123;
			$i=0;
			while&#40;$row = mysql_fetch_assoc&#40;$result&#41;&#41;&#123;
				$a_type&#91;$i&#93; = $row&#91;'address_type'&#93;;
				$i++;
			&#125;
			
			for&#40;$x=0; $x<$i; $x++&#41;&#123;
				if&#40;&#40;$a_type&#91;$x&#93; == 1 && $address_type == 1&#41; || &#40;$a_type&#91;$x&#93; == 2 && $address_type == 2&#41;&#41;&#123;
					if&#40;$a_type&#91;$x&#93; == 1 && $address_type == 1&#41;&#123;
						echo "Ο χρήστης διαθέτει ήδη διεύθυνση κατοικίας!";
						echo "<a href='user.php'>επιστροφή</a>";
					&#125;
				
					if&#40;$a_type&#91;$x&#93; == 2 && $address_type == 2&#41;&#123;
						echo "Ο χρήστης διαθέτει ήδη διεύθυνση εργασίας!";
						echo "<a href='user.php'>επιστροφή</a>";
					&#125;
				&#125;else&#123;
					mysql_query&#40;"INSERT INTO address&#40;street,number,city,post_code,address_type,user_id&#41; VALUES&#40;'$street','$number','$city','$post_code','$address_type','$user_id'&#41;"&#41;;
					$add = mysql_affected_rows&#40;&#41;;
					if&#40;$add > 1&#41;&#123;
						header&#40;"location&#58; user_address.php"&#41;;
					&#125;else&#123;
					die&#40;"Η εγγραφή δεν ολοκληρώθηκε με επιτυχία!"&#41;;
					&#125;
				&#125;
			&#125;
		&#125;else&#123;
			mysql_query&#40;"INSERT INTO address&#40;street,number,city,post_code,address_type,user_id&#41; VALUES&#40;'$street','$number','$city','$post_code','$address_type','$user_id'&#41;"&#41;;
			$add = mysql_affected_rows&#40;&#41;;
			if&#40;$add > 1&#41;&#123;
				header&#40;"location&#58; user_address.php"&#41;;
			&#125;else&#123;
				die&#40;"Η εγγραφή δεν ολοκληρώθηκε με επιτυχία!"&#41;;
			&#125;
		&#125;
	&#125;
?>
*το address_type παίρνει τιμές ή 1 ή 2...

Θέλω αν δεν υπάρχει καταχωρημένη από τον "συγκεκριμένο" χρήστη καταχωρημένη κάποια διεύθυνση τύπου 1 να γίνεται καταχώρηση αλλιώς να βγαίνει το κατάλληλο μήνυμα και να γίνεται το ίδιο και για τις διευθύνσεις τύπου 2

Δεν μπορώ βρω με τίποτα τι φταίει στο παραπάνω...
Αν δεν υπάρχει καθόλου καταχωρημένη διεύθυνση από τον χρήστη δουλεύει κανονικά μέχρι να καταχωρηθεί η πρώτη διεύθυνση μετά ξεκινάει το νταβαντούρι!

Μπορεί κάποιος να με βοηθήσει;;;;[/quote]

Άβαταρ μέλους
dva_dev
Script Master
Δημοσιεύσεις: 3790
Εγγραφή: 16 Σεπ 2005 01:32
Επικοινωνία:

Όχι εγγραφή αν υπάρχει ήδη καταχώρηση...

Δημοσίευση από dva_dev » 24 Δεκ 2011 17:18

Δοκίμασε κάπως έτσι:

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

<?php
session_start&#40;&#41;;

header&#40;"Content-type&#58; text/html;charset=UTF-8"&#41;;

if&#40;$_SESSION&#91;'username'&#93;&#41;
&#123;
	include "connect.php";

	$street = mysql_real_escape_string&#40;$_POST&#91;'street'&#93;&#41;;
	$number = mysql_real_escape_string&#40;$_POST&#91;'number'&#93;&#41;;
	$city = mysql_real_escape_string&#40;$_POST&#91;'city'&#93;&#41;;
	$post_code = mysql_real_escape_string&#40;$_POST&#91;'post_code'&#93;&#41;;
	$address_type = intval&#40;mysql_real_escape_string&#40;$_POST&#91;'address_type'&#93;&#41;&#41;;

	if &#40;&#40;$address_type != 1&#41; && &#40;$address_type != 2&#41;&#41;&#123;
 		die&#40;'unknown address_type'&#41;;
	&#125;

	$result = mysql_query&#40;"SELECT id FROM user_data WHERE username='&#123;$_SESSION&#91;'username'&#93;&#125;'"&#41;;
	$count = mysql_num_rows&#40;$result&#41;;
	if &#40;$count > 0&#41;
	&#123;
		$row = mysql_fetch_assoc&#40;$result&#41;;
		$user_id = $row&#91;'id'&#93;;
	&#125;

	$result = mysql_query&#40;"SELECT address_type FROM address WHERE user_id='$user_id' AND address_type=$address_type"&#41;;
	$count = mysql_num_rows&#40;$result&#41;;

	if &#40;$count > 0&#41;
	&#123;
		if &#40;$address_type == 1&#41;&#123;
			echo "Ο χρήστης διαθέτει ήδη διεύθυνση κατοικίας!";
		&#125;
		elseif &#40;$address_type == 2&#41;&#123;
			echo "Ο χρήστης διαθέτει ήδη διεύθυνση εργασίας!";
		&#125;
		echo "<a href='user.php'>επιστροφή</a>";
	&#125;
	else
	&#123;
		mysql_query&#40;"INSERT INTO address&#40;street,number,city,post_code,address_type,user_id&#41; VALUES&#40;'$street','$number','$city','$post_code','$address_type','$user_id'&#41;"&#41;;
		$add = mysql_affected_rows&#40;&#41;;
		if&#40;$add > 1&#41;&#123;
			header&#40;"location&#58; user_address.php"&#41;;
		&#125;
		else&#123;
			die&#40;"Η εγγραφή δεν ολοκληρώθηκε με επιτυχία!"&#41;;
		&#125;
	&#125;
&#125;
?>

rafinos
Δημοσιεύσεις: 301
Εγγραφή: 15 Μάιος 2011 00:20
Επικοινωνία:

Όχι εγγραφή αν υπάρχει ήδη καταχώρηση...

Δημοσίευση από rafinos » 24 Δεκ 2011 21:04

Σ' ευχαριστώ πάρα πολύ!!!!

Σου εύχομαι καλές γιορτές με υγεία!!! :)

Απάντηση

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

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

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