Πρόβλημα - form data to file

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

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

Απάντηση
vs-fs1
Δημοσιεύσεις: 22
Εγγραφή: 17 Ιουν 2010 13:37

Πρόβλημα - form data to file

Δημοσίευση από vs-fs1 » 22 Αύγ 2010 13:43

Χαιρετώ την freestuff-παρέα.Χρειάζομαι τη βοήθεια σας.
Φτιάχνω ένα μικρό project το οποίο μεταφέρει τα στοιχεία μιας φόρμας σε ενα txt αρχείο.Αυτή είναι η βασική ιδέα.Πάμε τώρα στα πιο σύνθετα.Στη φόρμα φαίνονται τα περιεχόμενα ενός φακέλου ο οποίος περιέχει φωτογραφίες. Ο επισκέπτης επιλέγει φωτογραφίες μαζί με το μέγεθος κ τη χρωματική επιλογή κ μαζί με τα στοιχεία που συμπληρώνει τα κάνει submit.
Το πρόβλημα είναι ότι μέχρι στιγμής αυτό που έχω καταφέρει να κάνω είναι να μπορώ να μεταφέρω τα στοιχεία του επισκέπτη αλλά όχι τις επιλογές που κάνει στις φωτογραφίες/χρώμα/μέγεθος.Εντοπίζω το πρόβλημα κατα βάση στη λούπα που προβάλλει τις φωτογραφίες αλλα θέλω τη γνώμη σας.Σας παραθέτω το κώδικα της φόρμας κ το κώδικα του αρχείου που κάνει την μεταφορά των δεδομένων.

Φόρμα:

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

<?php 
SESSION_START&#40;&#41;;
?>&#65279;
<!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>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<meta name="author" content="vs" />
<meta name="robots" content="index, follow" />
<link rel="stylesheet" type="text/css" href="style.css" media="screen" />
<link rel="stylesheet" type="text/css" href="print.css" media="print" />
<link rel="stylesheet" href="lightbox.css" type="text/css" media="screen" />
<script type="text/javascript" src="js/prototype.js"></script>
<script type="text/javascript" src="js/scriptaculous.js?load=effects,builder"></script>
<script type="text/javascript" src="js/lightbox.js"></script>
<title></title>
</head>
<body>

<div id="centerColumn">
<div id="header">

</div><!--//end #headern//-->
	
<div id="navbar">
<ul>
<li><a href="index.html" title="Home">Home</a></li>
<li><a href="about.html" title="About us">About us</a></li>
<li><a href="gallery.html" title="Gallery">Gallery</a></li>
<li><a href="contact.html" title="Contact">Contact</a></li>
</ul>
</div><!--//end #nav//-->
<?php
echo '<h2 class="medium"><i>Hello '.$_SESSION&#91;'user'&#93;.'</i></h2>';
?>
<p><span class="small"></span><br />
This is your private directory. Please submit your selections and fill in the contact form, thank you.
</p><br>
<div align="center">

<form method="post" action="data2file.php">
<?php

echo '<div STYLE="overflow&#58; auto; width&#58; 780px; height&#58; 600px; 
            border-left&#58; 5px gray solid; border-bottom&#58; 5px gray solid; border-top&#58; 5px gray solid; border-right&#58; 5px gray solid;; 
            padding&#58; 0px; margin&#58; 0px";>
           
<table border="1" cellspacing=0 cellpadding=1>
<tr><td>';
	  $username = $_SESSION&#91;'user'&#93;;
        $url = $username."/";
        $handle = opendir &#40;$url&#41;;
        while &#40;false !== &#40;$file = readdir&#40;$handle&#41;&#41;&#41; &#123;
            if&#40;$file != "." && $file != ".." && $file != basename&#40;__FILE__&#41;&#41; &#123;                	
																				
						//echo '<table border=1><tr><td>';                	
                	echo '<a href="'.$url.$file.'" rel="lightbox"><img border=1 src="'.$url.$file.'"></a>';
                	echo '<br />';
                	
                	echo "<input type=CHECKBOX name=$file>";
						print $file;
						echo '<br>';
						echo                 	
                				'<select name=color>
						<option>Select Color Format...</option>
						<option> Sepia </option>
						<option> Black & White </option>						
						</select>';
						echo                 	
                				'<br>
                				<select name=size>
						<option>Select Size Format...</option>
						<option name=5x7> 5" x 7"&#40;13x19 cm&#41;</option>
						<option name=6x8> 6" x 8"&#40;15x21 cm&#41;</option>
						<option name=8x12> 8" x 12"&#40;20x30 cm&#41; </option>						
						<option name=9x14> 9" x 14"&#40;24x30 cm&#41; </option>						
						<option name=12x18> 12" x 18"&#40;30x40 cm&#41; </option>
						</select>';
						echo '<br>Reprints <input type="text" name="reprints" size="1" value="0"><br />';
						echo '<hr>';
						//echo '</td></tr></table>';           
           
            &#125; 
        &#125; 
echo 
'</td></div>';

echo '
<td valign="top">
<p>*First name, Last name, Country, Home Address, Postal code and email fields are required*</p>
<input type="text" name="first" value="First Name" size="35"/><br>
<input type="text" name="last" value="Last Name" size="35"/><br>
<select name="country">
    <option value="  " selected>&#40;please select a country&#41;</option>
    <option value="AF">Afghanistan</option>
    <option value="AL">Albania</option>
    <option value="DZ">Algeria</option>
    <option value="AS">American Samoa</option>
    <option value="AD">Andorra</option>
    <option value="AO">Angola</option>
    <option value="AI">Anguilla</option>
    <option value="AQ">Antarctica</option>
    <option value="AG">Antigua and Barbuda</option>
    <option value="AR">Argentina</option>
    <option value="AM">Armenia</option>
    <option value="AW">Aruba</option>
    <option value="AU">Australia</option>
    <option value="AT">Austria</option>
    <option value="AZ">Azerbaijan</option>
    <option value="BS">Bahamas</option>
    <option value="BH">Bahrain</option>
    <option value="BD">Bangladesh</option>
    <option value="BB">Barbados</option>
    <option value="BY">Belarus</option>
    <option value="BE">Belgium</option>
    <option value="BZ">Belize</option>
    <option value="BJ">Benin</option>
    <option value="BM">Bermuda</option>
    <option value="BT">Bhutan</option>
    <option value="BO">Bolivia</option>
    <option value="BA">Bosnia and Herzegowina</option>echo 
    <option value="BW">Botswana</option>
    <option value="BV">Bouvet Island</option>
    <option value="BR">Brazil</option>
    <option value="IO">British Indian Ocean Territory</option>
    <option value="BN">Brunei Darussalam</option>
    <option value="BG">Bulgaria</option>
    <option value="BF">Burkina Faso</option>
    <option value="BI">Burundi</option>
    <option value="KH">Cambodia</option>
    <option value="CM">Cameroon</option>
    <option value="CA">Canada</option>
    <option value="CV">Cape Verde</option>
    <option value="KY">Cayman Islands</option>
    <option value="CF">Central African Republic</option>
    <option value="TD">Chad</option>
    <option value="CL">Chile</option>
    <option value="CN">China</option>
    <option value="CX">Christmas Island</option>
    <option value="CC">Cocos &#40;Keeling&#41; Islands</option>
    <option value="CO">Colombia</option>
    <option value="KM">Comoros</option>
    <option value="CG">Congo</option>
    <option value="CD">Congo, the Democratic Republic of the</option>
    <option value="CK">Cook Islands</option>
    <option value="CR">Costa Rica</option>
    <option value="CI">Cote dIvoire</option>
    <option value="HR">Croatia &#40;Hrvatska&#41;</option>
    <option value="CU">Cuba</option>
    <option value="CY">Cyprus</option>
    <option value="CZ">Czech Republic</option>
    <option value="DK">Denmark</option>
    <option value="DJ">Djibouti</option>
    <option value="DM">Dominica</option>
    <option value="DO">Dominican Republic</option>
    <option value="TP">East Timor</option>
    <option value="EC">Ecuador</option>
    <option value="EG">Egypt</option>
    <option value="SV">El Salvador</option>
    <option value="GQ">Equatorial Guinea</option>
    <option value="ER">Eritrea</option>
    <option value="EE">Estonia</option>
    <option value="ET">Ethiopia</option>
    <option value="FK">Falkland Islands &#40;Malvinas&#41;</option>
    <option value="FO">Faroe Islands</option>
    <option value="FJ">Fiji</option>
    <option value="FI">Finland</option>
    <option value="FR">France</option>
    <option value="FX">France, Metropolitan</option>
    <option value="GF">French Guiana</option>
    <option value="PF">French Polynesia</option>
    <option value="TF">French Southern Territories</option>
    <option value="GA">Gabon</option>
    <option value="GM">Gambia</option>
    <option value="GE">Georgia</option>
    <option value="DE">Germany</option>
    <option value="GH">Ghana</option>
    <option value="GI">Gibraltar</option>
    <option value="GR">Greece</option>
    <option value="GL">Greenland</option>
    <option value="GD">Grenada</option>
    <option value="GP">Guadeloupe</option>
    <option value="GU">Guam</option>
    <option value="GT">Guatemala</option>
    <option value="GN">Guinea</option>
    <option value="GW">Guinea-Bissau</option>
    <option value="GY">Guyana</option>
    <option value="HT">Haiti</option>
    <option value="HM">Heard and Mc Donald Islands</option>
    <option value="VA">Holy See &#40;Vatican City State&#41;</option>
    <option value="HN">Honduras</option>
    <option value="HK">Hong Kong</option>
    <option value="HU">Hungary</option>
    <option value="IS">Iceland</option>
    <option value="IN">India</option>
    <option value="ID">Indonesia</option>
    <option value="IR">Iran &#40;Islamic Republic of&#41;</option>
    <option value="IQ">Iraq</option>
    <option value="IE">Ireland</option>
    <option value="IL">Israel</option>
    <option value="IT">Italy</option>
    <option value="JM">Jamaica</option>
    <option value="JP">Japan</option>
    <option value="JO">Jordan</option>
    <option value="KZ">Kazakhstan</option>
    <option value="KE">Kenya</option>
    <option value="KI">Kiribati</option>
    <option value="KP">Korea, Democratic Peoples Republic of</option>
    <option value="KR">Korea, Republic of</option>
    <option value="KW">Kuwait</option>
    <option value="KG">Kyrgyzstan</option>
    <option value="LA">Lao Peoples Democratic Republic</option>
    <option value="LV">Latvia</option>
    <option value="LB">Lebanon</option>
    <option value="LS">Lesotho</option>
    <option value="LR">Liberia</option>
    <option value="LY">Libyan Arab Jamahiriya</option>
    <option value="LI">Liechtenstein</option>
    <option value="LT">Lithuania</option>
    <option value="LU">Luxembourg</option>
    <option value="MO">Macau</option>
    <option value="MK">Macedonia, The Former Yugoslav Republic of</option>
    <option value="MG">Madagascar</option>
    <option value="MW">Malawi</option>
    <option value="MY">Malaysia</option>
    <option value="MV">Maldives</option>
    <option value="ML">Mali</option>
    <option value="MT">Malta</option>
    <option value="MH">Marshall Islands</option>
    <option value="MQ">Martinique</option>
    <option value="MR">Mauritania</option>
    <option value="MU">Mauritius</option>
    <option value="YT">Mayotte</option>
    <option value="MX">Mexico</option>
    <option value="FM">Micronesia, Federated States of</option>
    <option value="MD">Moldova, Republic of</option>
    <option value="MC">Monaco</option>
    <option value="MN">Mongolia</option>
    <option value="MS">Montserrat</option>
    <option value="MA">Morocco</option>
    <option value="MZ">Mozambique</option>
    <option value="MM">Myanmar</option>
    <option value="NA">Namibia</option>
    <option value="NR">Nauru</option>
    <option value="NP">Nepal</option>
    <option value="NL">Netherlands</option>
    <option value="AN">Netherlands Antilles</option>
    <option value="NC">New Caledonia</option>
    <option value="NZ">New Zealand</option>
    <option value="NI">Nicaragua</option>
    <option value="NE">Niger</option>
    <option value="NG">Nigeria</option>
    <option value="NU">Niue</option>
    <option value="NF">Norfolk Island</option>
    <option value="MP">Northern Mariana Islands</option>
    <option value="NO">Norway</option>
    <option value="OM">Oman</option>
    <option value="PK">Pakistan</option>
    <option value="PW">Palau</option>
    <option value="PA">Panama</option>
    <option value="PG">Papua New Guinea</option>
    <option value="PY">Paraguay</option>
    <option value="PE">Peru</option>
    <option value="PH">Philippines</option>
    <option value="PN">Pitcairn</option>
    <option value="PL">Poland</option>
    <option value="PT">Portugal</option>
    <option value="PR">Puerto Rico</option>
    <option value="QA">Qatar</option>
    <option value="RE">Reunion</option>
    <option value="RO">Romania</option>
    <option value="RU">Russian Federation</option>
    <option value="RW">Rwanda</option>
    <option value="KN">Saint Kitts and Nevis</option> 
    <option value="LC">Saint LUCIA</option>
    <option value="VC">Saint Vincent and the Grenadines</option>
    <option value="WS">Samoa</option>
    <option value="SM">San Marino</option>
    <option value="ST">Sao Tome and Principe</option> 
    <option value="SA">Saudi Arabia</option>
    <option value="SN">Senegal</option>
    <option value="SC">Seychelles</option>
    <option value="SL">Sierra Leone</option>
    <option value="SG">Singapore</option>
    <option value="SK">Slovakia &#40;Slovak Republic&#41;</option>
    <option value="SI">Slovenia</option>
    <option value="SB">Solomon Islands</option>
    <option value="SO">Somalia</option>
    <option value="ZA">South Africa</option>
    <option value="GS">South Georgia and the South Sandwich Islands</option>
    <option value="ES">Spain</option>
    <option value="LK">Sri Lanka</option>
    <option value="SH">St. Helena</option>
    <option value="PM">St. Pierre and Miquelon</option>
    <option value="SD">Sudan</option>
    <option value="SR">Suriname</option>
    <option value="SJ">Svalbard and Jan Mayen Islands</option>
    <option value="SZ">Swaziland</option>
    <option value="SE">Sweden</option>
    <option value="CH">Switzerland</option>
    <option value="SY">Syrian Arab Republic</option>
    <option value="TW">Taiwan, Province of China</option>
    <option value="TJ">Tajikistan</option>
    <option value="TZ">Tanzania, United Republic of</option>
    <option value="TH">Thailand</option>
    <option value="TG">Togo</option>
    <option value="TK">Tokelau</option>
    <option value="TO">Tonga</option>
    <option value="TT">Trinidad and Tobago</option>
    <option value="TN">Tunisia</option>
    <option value="TR">Turkey</option>
    <option value="TM">Turkmenistan</option>
    <option value="TC">Turks and Caicos Islands</option>
    <option value="TV">Tuvalu</option>
    <option value="UG">Uganda</option>
    <option value="UA">Ukraine</option>
    <option value="AE">United Arab Emirates</option>
    <option value="GB">United Kingdom</option>
    <option value="US">United States</option>
    <option value="UM">United States Minor Outlying Islands</option>
    <option value="UY">Uruguay</option>
    <option value="UZ">Uzbekistan</option>
    <option value="VU">Vanuatu</option>
    <option value="VE">Venezuela</option>
    <option value="VN">Viet Nam</option>
    <option value="VG">Virgin Islands &#40;British&#41;</option>
    <option value="VI">Virgin Islands &#40;U.S.&#41;</option>
    <option value="WF">Wallis and Futuna Islands</option>
    <option value="EH">Western Sahara</option>
    <option value="YE">Yemen</option>
    <option value="YU">Yugoslavia</option>
    <option value="ZM">Zambia</option>
    <option value="ZW">Zimbabwe</option>
</select>
<input type="text" name="address" value="Home Address" size="45">
<input type="text" name="address" value="Postal Code" size="35"
<input type="text" name="email" value="e-mail" size="35"/><br>
<input type="text" name="date" value="Wedding Date &#40;dd-mm-yyyy&#41;" size="35"/><br>
<input type="text" name="time" value="Wedding Time &#40;hh&#58;mm&#41;"/><br>
<input type="text" name="hotel" value="Hotel" size="35"/><br>
<input type="text" name="room" value="Room Number" size="10"/><br>
<hr>
<TEXTAREA NAME="comments" ROWS=10 COLS=45 value="Comments">Notes / Comments
</TEXTAREA><br>
</td></tr>
</table>';
echo '</div>
<br>
<input type="submit" name="submit" value="Submit">&nbsp;<input type="reset" name="reset" value="Reset">&nbsp;<a href="logout.php"><input type="button" name="logout" value="Logout"></form></a>
</div>
<br>';
?>
<div id="footer">
<a href="http&#58;//validator.w3.org/" title="W3C HTML Validation">XHTML</a> . 
<a href="http&#58;//jigsaw.w3.org/css-validator/validator-uri.html" title="W3C CSS Validation">CSS</a> . 
<a href="http&#58;//www.w3.org/TR/WCAG10/" title="Web Content Accessibility Guidelines">WCAG</a> . 
<a href="http&#58;//www.csstinderbox.com">The CSS Tinderbox</a></div>
<div align="center" class="boxes">
  <!--//end #footer//--><small>
  &copy;2009-2010</small></div>
</div>
<!--//end #centerColumn//-->
<!--width=256 height=170-->
</body>
</html>
Επεξεργασία Φόρμας:

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

<?php
SESSION_START&#40;&#41;;
$arxeio = "data.txt";
$fp = fopen&#40;$arxeio, "a"&#41; or die&#40;"Couldn't open $arxeio for writing!"&#41;;
//fwrite&#40;$fp, $_POST&#91;$file&#93;."\n"&#41;;
fwrite&#40;$fp, $_POST&#91;'color'&#93;."\n"&#41; or die&#40;"Couldn't write values to file!"&#41;;
fwrite&#40;$fp, $_POST&#91;'size'&#93;."\n"&#41;;
fclose&#40;$fp&#41;;
echo $_SESSION&#91;'user'&#93;;
echo $_POST&#91;'color'&#93;;
echo $_POST&#91;'country'&#93;;
echo "Saved to $arxeio successfully!";
?>
*Σημείωση:
Στο echo του $_POST['color'] μου εκτυπώνει μόνο το default option(Select color format...) κ το ίδιο συμβαίνει στο αρχείο ενώ ουσιαστικά θέλω να μου εκτυπώνει/γράφει στο αρχείο την επιλογή του επισκέπτη.

Οποιαδήποτε βοήθεια ευπρόσδεκτη,σας ευχαριστώ πολύ.

Άβαταρ μέλους
dimitrisdamo
Δημοσιεύσεις: 78
Εγγραφή: 19 Νοέμ 2009 20:00
Επικοινωνία:

Πρόβλημα - form data to file

Δημοσίευση από dimitrisdamo » 22 Αύγ 2010 19:42

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

<option>Select Color Format...</option>
                  <option> Sepia </option>
                  <option> Black & White </option> 
το κανεις

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

<option name="default">Select Color Format...</option>
                  <option name="Sepia"> Sepia </option>
                  <option name="Bw"> Black & White </option> 
και επισης εχεις το select ολο σε μια λοοπα οποτε λογικα θα παίρνει τα δεδομένα μονο απο την τελευταίο πεδίο

vs-fs1
Δημοσιεύσεις: 22
Εγγραφή: 17 Ιουν 2010 13:37

Πρόβλημα - form data to file

Δημοσίευση από vs-fs1 » 23 Αύγ 2010 09:49

Ευχαριστώ dimitrisdamo για την γρήγορη απάντηση. Θα το δοκιμάσω σήμερα αυτο που μου λές για το <option>. Ποια είναι η γνώμη σου σχετικά με το loop;Πως θα μπορούσα να προσαρμόσω το κωδικά μου ώστε να καταγράφονται όλες οι επιλογές του επισκέπτη;

Άβαταρ μέλους
dimitrisdamo
Δημοσιεύσεις: 78
Εγγραφή: 19 Νοέμ 2009 20:00
Επικοινωνία:

Πρόβλημα - form data to file

Δημοσίευση από dimitrisdamo » 24 Αύγ 2010 09:26

Εγω που το δοκίμασα χωρίς λοοπα γράφτηκαν τα δεδομένα κανονικά στο txt αρχειάκη τωρα για την λοοπα δεν ειμαι τοσο σίγουρος γιατι δεν έχω καταλάβει τι ακριβώς θες να κανεις .

vs-fs1
Δημοσιεύσεις: 22
Εγγραφή: 17 Ιουν 2010 13:37

Πρόβλημα - form data to file

Δημοσίευση από vs-fs1 » 24 Αύγ 2010 09:39

Εκτός loop είναι εντάξει,λειτουργεί. Αλλά το ζήτημα είναι οτι χρειάζομαι τη loop.Ουσιαστικά η loop προβάλλει κάποιες φωτογραφίες απο ένα φάκελο που της ορίζω παραπάνω.Εκει θέλω για κάθε φωτο να υπάρχει checkbox k 2 dropdown selections όπως φαίνεται κ στον κώδικα. Το πρόβλημα είναι οτι μου παίρνει όντως μόνο τη τελευταία εγγραφή.Σκοπός είναι να μπορώ να περνάω στο αρχείο μόνο απ τις επιλεγμένες φωτο με τα συνοδευτικά τους selection.
Οποιαδήποτε βοήθεια είναι χρήσιμη.
Ευχαριστώ

vs-fs1
Δημοσιεύσεις: 22
Εγγραφή: 17 Ιουν 2010 13:37

Πρόβλημα - form data to file

Δημοσίευση από vs-fs1 » 24 Αύγ 2010 22:24

Παίδες θα εκτιμούσα οποιαδήποτε βοήθεια. Τι μπορώ να κάνω για να μεταφέρω μόνο τα επιλεγμένα "αντικείμενα" στο αρχείο txt;
Καμιά ιδέα/πρόταση;

Άβαταρ μέλους
dimitrisdamo
Δημοσιεύσεις: 78
Εγγραφή: 19 Νοέμ 2009 20:00
Επικοινωνία:

Πρόβλημα - form data to file

Δημοσίευση από dimitrisdamo » 25 Αύγ 2010 09:00

θα πρεπει με καποιον τροπο να ελενξεις τον συνολικο αριθμο των φωτογραφιων που θα βρεθούν στο φάκελο μετα να τα βάλεις σε μια for και μετα μια καλη ιδεα θα ήταν να καταχωρήσεις η απευθειας τις επιλογες η σε ενα array και μετα στο txt.
αλλα και παλι δεν μου εδωσες να καταλαβω τι ακριβως θες να κανεις

vs-fs1
Δημοσιεύσεις: 22
Εγγραφή: 17 Ιουν 2010 13:37

Πρόβλημα - form data to file

Δημοσίευση από vs-fs1 » 25 Αύγ 2010 13:44

Λοιπόν θα προσπαθήσω να δώσω ακριβώς το σκεπτικό μου.Ουσιαστικά μέχρι στιγμής έχω φτιάξει μια φόρμα η οποία προβάλλει τις φωτογραφίες ενός φακέλου.Κάθε φωτογραφία συνοδεύεται απο κάποια επιπλέον selections(color,size,reprints). Αυτό που θέλω είναι να μπορεί ο επισκέπτης να επιλέγει όποιες απ τις φωτο θέλει μαζί με τις επιπλέον επιλογές που υπάρχουν,να συμπληρώνει τα στοιχεία του κ στη συνέχεια όλα αυτα να γράφονται σε ενα tx αρχείο. Δηλαδή στο txt αρχείο θέλω να πηγαίνουν μόνο οι επιλεγμένες εγγραφές της φόρμας. Μέχρι στιγμής όπως έχει ο κώδικας έχω καταφέρει να κάνω τη προβολή του φακέλου φωτο στη φόρμα μαζί με τις επιλογές αλλα όταν κάνω post τα data μεταφέρει μόνο την τελευταία εγγραφή ανεξάρτητα απ το αν είναι επιλεγμένο το στοιχείο ή όχι.

Άβαταρ μέλους
dimitrisdamo
Δημοσιεύσεις: 78
Εγγραφή: 19 Νοέμ 2009 20:00
Επικοινωνία:

Πρόβλημα - form data to file

Δημοσίευση από dimitrisdamo » 25 Αύγ 2010 14:11

μπορεις να ξες τον αριθμο των επιλογων φωτογραφιων δηλαδη ?

vs-fs1
Δημοσιεύσεις: 22
Εγγραφή: 17 Ιουν 2010 13:37

Πρόβλημα - form data to file

Δημοσίευση από vs-fs1 » 25 Αύγ 2010 16:02

Ο αριθμός των φωτογραφιών εξαρτάται απ το πόσες είναι μέσα στο φάκελο. Αν ο φάκελος έχει 10 φωτογραφίες το while loop προβάλει 10 στη φόρμα. Για την ακρίβεια ο μηχανισμός έχει στηθεί έτσι ώστε να προβάλλει το προσωπικό φάκελο του κάθε χρήστη επομένως η φόρμα είναι κατα κάποιο τρόπο δυναμική αφού κάθε φάκελος έχει διαφορετικό πλήθος φωτογραφιών.

vs-fs1
Δημοσιεύσεις: 22
Εγγραφή: 17 Ιουν 2010 13:37

Πρόβλημα - form data to file

Δημοσίευση από vs-fs1 » 25 Αύγ 2010 16:09

Για να γίνω πιο συγκεκριμένος:
Ο διαχειριστής αρχικά ορίζει user/pass κ φάκελο πελάτη.
(*Ο διαχειριστής ανεβάζει τις φωτό στο κάθε φάκελο μέσω ftp)
Ο πελάτης κάνει login k η φόρμα προβάλλει μόνο τις φωτο του φακέλου του.
Απο εκεί ο πελάτης επιλέγει τις φωτο(checkbox) μαζί με τα ξεχωριστά στοιχεία κ με το submit στέλνει τα επιλεγμένα δεδομένα στο αρχείο txt.


**Απο εκεί βέβαια θέλω παρακάτω να στέλνω το txt σε email του διαχειριστή αλλά αυτο έρχεται δεύτερο.

Άβαταρ μέλους
dimitrisdamo
Δημοσιεύσεις: 78
Εγγραφή: 19 Νοέμ 2009 20:00
Επικοινωνία:

Πρόβλημα - form data to file

Δημοσίευση από dimitrisdamo » 26 Αύγ 2010 09:27

ναι και ακριβως αυτο ηθελα να πω πως αν δεν ξες τον αριθμο των φωτογραφιων θα πρεπει να βρεις ενα τρόπο μεσα απο την while να βάλεις εναν μετρητη για να δεις ποσες φωτογραφίες ουσιαστικα έχει ο χρήστης μεσα στον φάκελο και ετσι να μπορέσεις ανάλογα με τον αριθμό των φωτογραφιών μεσα απο μια for να τραβήξεις τα δεδομένα

Άβαταρ μέλους
Banavas
Script Master
Δημοσιεύσεις: 1367
Εγγραφή: 21 Νοέμ 2004 20:25
Επικοινωνία:

Πρόβλημα - form data to file

Δημοσίευση από Banavas » 26 Αύγ 2010 09:48

Καθώς κάνεις loop για να προβάλεις τις εικόνες δημιουργείς μεταβλητές checkbox με περιεχόμενο το $file. Για να διαβάσεις τις μεταβλητές πρέπει να δημιουργήσεις ένα αντίστοιχο loop στο αρχείο επεξεργασίας.
Happy coding....
Μάρκος
http://lasernet.gr

Άβαταρ μέλους
dimitrisdamo
Δημοσιεύσεις: 78
Εγγραφή: 19 Νοέμ 2009 20:00
Επικοινωνία:

Πρόβλημα - form data to file

Δημοσίευση από dimitrisdamo » 26 Αύγ 2010 14:32

banavas πως το ενοεις να δημιουργει μεταβλητε με το $file?

Άβαταρ μέλους
Banavas
Script Master
Δημοσιεύσεις: 1367
Εγγραφή: 21 Νοέμ 2004 20:25
Επικοινωνία:

Πρόβλημα - form data to file

Δημοσίευση από Banavas » 26 Αύγ 2010 15:38

Σε κάθε κύκλο του loop διαβάζει από το φάκελο των φωτογραφιών ένα όνομα φωτογραφίας και δημιουργεί ένα checkbox με name= το όνομα της φωτγραφίας. Έτσι δημιουργούνται τόσα checkbox όσα και τα αρχεία των φωτογραφιών. Κάθε checkbox έχει μια μεταβλητή την name = $file που παίρνει τιμές από τις επιλογές του χρήστη.
Ας υποθέσουμε οτι έχει 3 φωτογραφίες τις 1.jpg 2.jpg και 3.jpg. Αυτές κατά το loop αντικαθιστώντας την $file θα δημιουργήσουν τρεις μεταβλητές με τα ίδια ονόματα. Αν υποθέσουμε πάλι οτι οι τιμή (δηλαδή η μεταβλητή value) του checkbox είναι 'Υ' και ο χρήστης τις επιλέξει τις 2 πρώτες τότε στο αρχείο data2file.php θα μεταφερθούν οι εξείς μεταβλητές $_POST['1.jpg'], $_POST['2.jpg'], $_POST['3.jpg'] με αντίστοιχες τιμές Υ,Υ,NUL.
Επειδή η ποσότητα και τα ονόματα είναι τυχαία πρέπει στο αρχείο data2file.php να ξανακάνει ένα loop ωστε να ξαναδημιουργηθούν οι μεταβλητές και να καταχωρηθούν στο αρχείο μαζί με την τιμή τους.
Happy coding....
Μάρκος
http://lasernet.gr

Απάντηση

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

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

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