Πρόβλημα με image gallery...

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

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

Απάντηση
dtravlos
Δημοσιεύσεις: 244
Εγγραφή: 29 Ιαν 2009 15:03
Τοποθεσία: Keratsini
Επικοινωνία:

Πρόβλημα με image gallery...

Δημοσίευση από dtravlos » 23 Μαρ 2010 13:12

Καλησπέρα. Έχω φτιάξει ένα script για ανέβασμα εικόνων το οποίο θα περιέχει και 3 πεδία (text). Μετά από τρελό πήξιμο κατάφερα να ανεβάζω κανονικά αλλά στα πεδία μπορούσα να βάλω μόνο κείμενο χωρίς κενά. Επίσης στη φόρμα για την επεξεργασία δεν κάνει ΤΙΠΟΤΑ και μου έχει βγάλει την πίστη!! Μπορεί κάποιος να με βοηθήσει σας παρακαλώ;; Σας παραθέτω τον κώδικα.
Ευχαριστώ πολύ!!

προσθήκη εικόνας:

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

<?php
	extract&#40;$_REQUEST&#41;;
	include&#40;'../includes/connect.php'&#41;;
	
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Διαχείρηση - Προσθήκη Βιβλίου</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link href="admin-styles.css" rel="stylesheet" type="text/css">
</head>
<body>
 
<div align="center">
<table width="800" border="0" cellspacing="0" cellpadding="0" align="center">
		<tr>
			<td height="25" align="center" valign="middle" background="admin-images/title-01.jpg" class="title">Ανεβάστε Βιβλίο</td>
		</tr>
		<tr>
			<td align="center" valign="top" background="admin-images/bg-01.jpg">
				<br>
						<form action="add-image_script.php" method="post" enctype="multipart/form-data" name="new_image">
				<table border="0" cellspacing="0" cellpadding="0" align="center" class="content">
					 
					<tr>
					  <td height="25" align="left" valign="middle">Τίτλος&#58;</td>
					  <td height="25" colspan="2" align="left" valign="middle"><input name="booktitle" type="text" id="booktitle" size="50"></td>
				  </tr>
					<tr>
					  <td height="25" align="left" valign="middle">Συγγραφείς&#58;</td>
					  <td height="25" colspan="2" align="left" valign="middle"><textarea name="booksig" id="booksig" cols="45" rows="5"></textarea></td>
				  </tr>
					<tr>
					  <td height="25" align="left" valign="middle">Περιγραφή&#58;</td>
					  <td height="25" colspan="2" align="left" valign="middle"><textarea name="bookdesc" id="bookdesc" cols="45" rows="5"></textarea></td>
				  </tr>
					<tr>
						<td width="150" height="30" align="left" valign="middle" nowrap>Επιλέξτε φωτογραφία&#58;</td>
						<td width="250" height="25" colspan="2" align="left" valign="middle"><input name="upload" type="File" size="24" value = "<?php echo $upload; ?>"></td>
					</tr>
					<tr>
						<td height="30" colspan="2" align="center" valign="middle"><input name="Submit" type="submit" class="forms" value="Καταχώρηση"></td>
					</tr>
				</table>
				</form>
			</td>
		</tr>
		 
	</table>
</div>
</body>
</html>
proccess form:

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

<?php 
	extract&#40;$_REQUEST&#41;; 
	if &#40;substr&#40;$_FILES&#91;"upload"&#93;&#91;"name"&#93;,strlen&#40;$_FILES&#91;"upload"&#93;&#91;"name"&#93;&#41;-3,3&#41; == "jpg"&#41;
	&#123;
		include '../includes/connect.php';
		$img_result = mysql_query&#40;"SELECT bookid FROM books ORDER BY bookid DESC LIMIT 1",$db&#41;;
		$num = mysql_num_rows&#40;$img_result&#41;;
		$img_id = 0;
		if &#40;$num == 0&#41;
		&#123;
			$img_id = 1;
		&#125;
		else
		&#123;
			while &#40;$imgRow = mysql_fetch_array&#40;$img_result&#41;&#41;
			&#123;
				$img_id = $imgRow&#91;'bookid'&#93; + 1;
			&#125;
		&#125;		
		mysql_query&#40;"INSERT INTO books &#40;bookid, booktitle, booksig, bookdesc&#41; VALUES &#40;$bookid, '$booktitle', '$booksig', '$bookdesc'&#41;",$db&#41;;
		$uploadDir = "../images/ekdoseis/";
		$upload_name=$bookid.".jpg";
		$dest = $uploadDir.$upload_name;
		$maxWidth = 1000;
		$maxHeight = 750;
		if &#40;move_uploaded_file&#40;$_FILES&#91;'upload'&#93;&#91;'tmp_name'&#93;,$dest&#41;&#41;
		&#123;
			list&#40;$width, $height&#41; = getimagesize&#40;$dest&#41;;
			if &#40;$width > $maxWidth or $height > $maxHeight&#41;
			&#123;
				if &#40;$width > $height&#41;
				&#123;
					$ratio = round&#40;$height/$width,2&#41;;
					$newWidth = $maxWidth;
					$newHeight = $maxWidth * $ratio;
				&#125;
				else
				&#123;
					$ratio = round&#40;$width/$height,2&#41;;
					$newHeight = $maxHeight;
					$newWidth = $maxHeight * $ratio;
				&#125;			
				$src_img = imagecreatefromjpeg&#40;$dest&#41;;
				$dst_img = imagecreatetruecolor&#40;$newWidth,$newHeight&#41;;
				imagecopyresampled&#40;$dst_img,$src_img,0,0,0,0,$newWidth,$newHeight,imagesx&#40;$src_img&#41;,imagesy&#40;$src_img&#41;&#41;;
				imagejpeg&#40;$dst_img,$dest&#41;;		
			&#125;		
			echo "<meta http-equiv='refresh' content='0;URL=index.php'>";
		&#125;
		else
		&#123;
			mysql_query&#40;"DELETE FROM books WHERE bookid = $bookid",$db&#41;;
			echo "<script language=javascript>	alert&#40;'Το αρχείο δεν ανέβηκε. Παρακαλώ προσπαθήστε ξανά!'&#41;;</script>";
			echo "<meta http-equiv='refresh' content='0;URL=add.php'>";
		&#125;
	&#125;
	else
	&#123;
		echo "<script language=javascript>	alert&#40;'Δεν έχετε επιλεξει αρχείο ή το αρχείο που επιλεξατε δεν είναι jpg'&#41;;</script>";
		echo "<meta http-equiv='refresh' content='0;URL=add.php'>";
	&#125;
?>
η φόρμα επεξεργασίας:

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

<?php
	extract&#40;$_REQUEST&#41;;
	include '../includes/connect.php';
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Photoneira Administration Pages - Edit Image</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link href="admin-styles.css" rel="stylesheet" type="text/css">
<script language=JavaScript>
	function image_open&#40;image_loc,img&#41;
	&#123;
	  HTML = "<html><style>body&#123;margin&#58;0px 0px 0px 0px&#125;</style><body onBlur='top.close&#40;&#41;'><img src='"+ image_loc +"' border=0 name=load_image onLoad='window.resizeTo&#40;document.load_image.width,document.load_image.height+50&#41;'></body></html>";
	  popupImage = window.open&#40;'','_blank','toolbar=no,scrollbars=no'&#41;;
	  popupImage.document.open&#40;&#41;;
	  popupImage.document.write&#40;HTML&#41;;
	  popupImage.document.close&#40;&#41;;
	  obj_img = document.getElementById&#40;img&#41;;
	
	&#125;
</script>

</head>
<body>
 
<div align="center">
<table width="800" border="0" cellspacing="0" cellpadding="0" align="center">
		<tr>
			<td height="25" align="center" valign="middle" >Επεξεργασία Βιβλίου</td>
		</tr>
		<tr>
			<td align="center" valign="top" >
				<br>
				<form action="edit-image_script.php" method="post" enctype="multipart/form-data" name="edit_image">
					<?php
						$img_result = mysql_query&#40;"SELECT * FROM books WHERE bookid = $bookid",$db&#41;;
						while &#40;$imgRow = mysql_fetch_array&#40;$img_result&#41;&#41;
						&#123;
							$bookid = $imgRow&#91;'bookid'&#93;;
							$booktitle = $imgRow&#91;'booktitle'&#93;;
							$booksig = $imgRow&#91;'booksig'&#93;;
							$bookdesc = $imgRow&#91;'bookdesc'&#93;;
						&#125;
					?>
					<table width="400" border="0" cellspacing="0" cellpadding="0" align="center" class="content">
						<tr>
							<td height="25" align="left" valign="middle"> <input type="hidden" name="bookid" id="bookid" value="<?php echo $bookid; ?>"> </td>
							<td height="25" colspan="2" align="left" valign="middle"><table width="100%" border="0" cellspacing="0" cellpadding="5">
  <tr>
    <td>Τίτλος Βιβλίου&#58;</td>
  </tr>
  <tr>
    <td><input type="text" name="booktitle" id="booktitle" value="<?php echo $booktitle; ?>"></td>
  </tr>
  <tr>
    <td>Συγγραφείς&#58;</td>
  </tr>
  <tr>
    <td><textarea name="booksig" id="booksig"><?php echo $booksig; ?></textarea></td>
  </tr>
  <tr>
    <td>Περιγραφή&#58;</td>
  </tr>
  <tr>
    <td><textarea name="bookdesc" id="bookdesc"><?php echo $bookdesc; ?></textarea></td>
  </tr>
</table>

							 
							</td>
						</tr>
						<tr>
							<td width="150" height="30" align="left" valign="middle">Επιλέξτε φωτογραφία&#58;</td>
							<td width="250" height="25" colspan="2" align="left" valign="middle"><input name="upload" type="File" size="24"></td>
						</tr>
						<tr>
							
						</tr>
						<tr>
							<td height="120" colspan="3" align="center" valign="middle"><a href="JavaScript&#58;image_open&#40;'../images/ekdoseis/<?php echo $bookid ?>.jpg','img<?php echo $bookid ?>'&#41;"><img src="../images/ekdoseis/<?php echo $bookid; ?>.jpg" width="140" height="200" hspace="0" vspace="0" border="0" align="absmiddle"></a></td>
							</tr>
						<tr>
							<td height="30" colspan="2" align="center" valign="middle"><input name="Submit" type="submit" class="forms" value="Καταχώρηση"></td>
						</tr>
					</table>
				</form>
			</td>
		</tr>
		 
	</table>
</div>
</body>
</html>
και τέλος ο κώδικας για την επεξεργασία:

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


<?php 
	extract&#40;$_REQUEST&#41;; 
	include '../includes/connect.php';
	if &#40;$_FILES&#91;"upload"&#93;&#91;"name"&#93; != ''&#41;
	&#123;
		if &#40;substr&#40;$_FILES&#91;"upload"&#93;&#91;"name"&#93;,strlen&#40;$_FILES&#91;"upload"&#93;&#91;"name"&#93;&#41;-3,3&#41; == "jpg"&#41;
		&#123;
			$maxWidth = 1000;
			$maxHeight = 750;
			if &#40;move_uploaded_file&#40;$_FILES&#91;'upload'&#93;&#91;'tmp_name'&#93;,$dest&#41;&#41;
			&#123;
				list&#40;$width, $height&#41; = getimagesize&#40;$dest&#41;;
				if &#40;$width > $maxWidth or $height > $maxHeight&#41;
				&#123;
					if &#40;$width > $height&#41;
					&#123;
						$ratio = round&#40;$height/$width,2&#41;;
						$newWidth = $maxWidth;
						$newHeight = $maxWidth * $ratio;
					&#125;
					else
					&#123;
						$ratio = round&#40;$width/$height,2&#41;;
						$newHeight = $maxHeight;
						$newWidth = $maxHeight * $ratio;
					&#125;			
					$src_img = imagecreatefromjpeg&#40;$dest&#41;;
					$dst_img = imagecreatetruecolor&#40;$newWidth,$newHeight&#41;;
					imagecopyresampled&#40;$dst_img,$src_img,0,0,0,0,$newWidth,$newHeight,imagesx&#40;$src_img&#41;,imagesy&#40;$src_img&#41;&#41;;
					imagejpeg&#40;$dst_img,$dest&#41;;		
				&#125;		
				
			&#125;
			else
			&#123;
				echo "<script language=javascript>	alert&#40;'Το αρχείο δεν ανέβηκε. Παρακαλώ προσπαθήστε ξανά!'&#41;;</script>";
				
			&#125;
		&#125;
		else
		&#123;
			echo "<script language=javascript>	alert&#40;'Δεν έχετε επιλεξει αρχείο ή το αρχείο που επιλεξατε δεν είναι jpg'&#41;;</script>";
			echo "<meta http-equiv='refresh' content='0;URL=edit-image.php?bookid=".bookid."'>";
		&#125;
	&#125;
	else
	&#123;
		
			mysql_query&#40;"UPDATE books SET bookid = $bookid, booktitle='$booktitle', booksig='$booksig', $bookdesc='$bookdesc' WHERE bookid=$bookid",$db&#41;;
			$uploadDir = "../images/ekdoseis/";
			$upload_name=$bookid.".jpg";
			$source = $uploadDir.$upload_name;
			$uploadDir = "../images/ekdoseis/";
			$upload_name=$bookid.".jpg";
			$dest = $uploadDir.$upload_name;
			rename&#40;$source,$dest&#41;;
			echo "<meta http-equiv='refresh' content='0;URL=index.php'>";
		 
		 
	&#125;
?>
είμαι σε απόγνωση!!!!!!!!

sxsweb
Δημοσιεύσεις: 33
Εγγραφή: 14 Δεκ 2009 16:24

Πρόβλημα με image gallery...

Δημοσίευση από sxsweb » 29 Μαρ 2010 13:06

1.) για την εισαγωγή του κειμένου δοκίμασε το εκτελέσεις με escape string
πχ.

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

mysql_query&#40;"INSERT INTO table &#40;field&#41; VALUES &#40;'".mysql_real_escape_string&#40;data&#41;."'&#41;"&#41;;
2.) Για την επεξεργασία δοκίμασε να εκτελέσεις τα update querries ένα ένα. Εναλλακτικά μπορείς να χρησιμοποιήσεις αντί για UPDATE την REPLACE INTO με αντίστοιχη σύνταξη με την INSERT

dtravlos
Δημοσιεύσεις: 244
Εγγραφή: 29 Ιαν 2009 15:03
Τοποθεσία: Keratsini
Επικοινωνία:

Πρόβλημα με image gallery...

Δημοσίευση από dtravlos » 29 Μαρ 2010 13:09

Καλημέρα και καλή εβδομάδα! Ευχαριστώ πολύ για τη βοήθεια! Θα το δοκιμάσω!

Απάντηση

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

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

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