Solved

I don't think it can be done but i want to ask you all.....

Posted on 2011-03-08
7
219 Views
Last Modified: 2012-05-11
They other day you guess helped me with this php load display a lot of images and have a button the edits the file name. Well it works great one thing is i have over 500 image loaded on the page there small 20k files that fine.

But when i use scrolls down fines a image and renames it by clicking on the edit button the page will reload at the top. So the user has to scroll back down and find where they left off.

Is there any way to fixes this so when they click edit it doesn't reset the page at the top but do it from where they left off?
<p><h1>  
All you have to do if you know the person is type their full name, click edit then move on to the next user. Thank you! 
<p></h1>

<?php 




echo '<table><tr><td>'; 

     $username = $_SESSION['user']; 
        $url = $username."./"; 
        $handle = opendir ($url); 
        while (false !== ($file = readdir($handle))) { 
            if($file != "." && $file != ".." && $file != basename(__FILE__)) {                    
                                                        
                                                             
                   echo"<form method=\"post\" action=\"data2file.php\">";
                   echo '<img border=1 src="'.$file.'">'; 
                   echo '<br />'; 
                   
                   echo "Enter new name: <input type='text' name='new-name' length='30'>
                   <textarea type=text size='1' height='1'style='display:none' name='file-name' >".$file."</textarea>"; 
                  
                    
                   echo "<input type=submit name=\"$file\" value=Edit>" ; 
                   print $file; 
                   echo '<br>'; 
                   echo '<hr>'; 
                   echo "</form>";
            
            } 
        } 
echo '</td>'; 

echo ' 

</table>'; 
 
?> 


here is the data2file.php


<html>
<body>

<script type="text/javascript"><!--
setTimeout('Redirect()',1000);
function Redirect()
{
  location.href = 'http://laptop-vm/IDbag/edit.php';
}
// --></script>

<?php 
echo $_POST['new-name'];
echo '<br>';
echo $_POST['file-name']; 



rename($_POST['file-name'], $_POST['new-name'].".jpg");


if (copy("C:/server/xampp/htdocs/IDbag/" .$_POST['new-name'].".jpg","C:/server/xampp/htdocs/IDbag/done/".$_POST['new-name'].".jpg")) {
  unlink($_POST['new-name'].".jpg");
}


echo '<br>';
echo "Successfully!"; 
?>



</body>
</html>

Open in new window

0
Comment
Question by:mikearmas
  • 4
  • 3
7 Comments
 
LVL 3

Expert Comment

by:Duboux
ID: 35071808
Add an anchor before each image, and if u were using the same page for renaming as for showing like I suggested in there, u could even do a <form action="page.php#photo_number">

Example piece in HTML:

<a id="photo_30">
<form action="pictures.php#photo_30" method="post">
...photo...
<input type="hidden" name="name_orig" value="photo_name" />
<input type="text" name="name_new" value="Add new name here" />
<input type="submit" value="change">
</form>

U see I use photo_30 to reference to that photo. Because u can't use the current photo name, in case u're changing it anyway.
So in your php-loop that shows the photo, just add an increasing number in it.

loop {
      echo "<a id=\"photo_".$id."\">";
      $id++
}
0
 

Author Comment

by:mikearmas
ID: 35085238
ok that helped thank you i got it to loop the id # to each image. if i view the sorce code of the page it does it right

<form method=\"post\" action=\"data2file.php#photo_"1\"><a id=\"photo_"1"\"><img border=1 src="-1033918356.JPG"></a><br />Enter new name: <input type='text' name='new-name' length='30>

thats from the source code so it"a right but when i click it this is what i get in the address bar. and a error on the page

http://laptop-vm/IDbag/%5C%22data2file.php?new-name=44532234563&file-name=test.jpg&test.jpg=Edit#photo_%22556\%22
<p><h1>
All you have to do if you know the person is type their full name, click edit then move on to the next user. Thank you!
<p></h1>

<?php


$id = 1;

echo '<table><tr><td>';

     $username = $_SESSION['user'];
        $url = $username."./";
        $handle = opendir ($url);
        while (false !== ($file = readdir($handle))) {
            if($file != "." && $file != ".." && $file != basename(__FILE__)) {


                   echo'<form method=\"post\" action=\"data2file.php#photo_'.$id.'\">';
                   echo '<a id=\"photo_"'.$id.'"\"><img border=1 src="'.$file.'"></a>';
				   $id++;
                   echo '<br />';

                   echo "Enter new name: <input type='text' name='new-name' length='30'>
                   <textarea type=text size='1' height='1'style='display:none' name='file-name' >".$file."</textarea>";


                   echo "<input type=submit name=\"$file\" value=Edit>" ;
                   print $file;
                   echo '<br>';
                   echo '<hr>';
                   echo "</form>";

            }
        }
echo '</td>';

echo '

</table>';

?>

Open in new window

0
 
LVL 3

Expert Comment

by:Duboux
ID: 35107051
<form method=\"post\" action=\"data2file.php#photo_"1\"><a id=\"photo_"1"\"><img border=1 src="-1033918356.JPG"></a><br />Enter new name: <input type='text' name='new-name' length='30>
That doesn't look that good.
if that is source code / a.k.a. HTML then those \ shouldn't be in there at all ;)
I see u type differently than I do. u use ' to echo. In that case u don't need \" but can just use " in there ;)

Also <a id=\"photo_"1"\"> should be <a id="photo_1">
But I don't see that in the php code u showed beneath that.


So what u need to do is remove all the \ from the code I gave u ;)
if you echo with single '

I see u also sometimes echo with " in that case u either need to leave the \ in there, or also echo with just single '

Dit u follow that ? lol
0
Active Directory Webinar

We all know we need to protect and secure our privileges, but where to start? Join Experts Exchange and ManageEngine on Tuesday, April 11, 2017 10:00 AM PDT to learn how to track and secure privileged users in Active Directory.

 
LVL 3

Expert Comment

by:Duboux
ID: 35107089
okay, just copy/paste this part, lol:

                   echo'<form method="post" action="data2file.php#photo_'.$id.'">';
                   echo '<a id="photo_'.$id.'"><img border="1" src="'.$file.'"></a>';
                   echo '<br />';
                   echo 'Enter new name: <input type="text" name="new-name" length="30">
                   <textarea type="text" size="1" height="1" style="display: none;" name="file-name">'.$file.'</textarea>';


                   echo '<input type="submit" name="'.$file.'" value="Edit">';
                   print $file;
                   echo '<br>';
                   echo '<hr>';
                   echo '</form>';
                   $id++;

Open in new window

0
 

Author Comment

by:mikearmas
ID: 35109734
yep that worked i didn't get any errors but this is the data2file.php that has a redirect in the code to reload the edit.php page and it's doesn't know about the photo_id #. How can i have to remember it ?
<html>
<body>

<script type="text/javascript"><!--
setTimeout('Redirect()',1000);
function Redirect()
{
  location.href = 'http://laptop-vm/IDbag/edit.php';
}
// --></script>

<?php
echo $_POST['new-name'];
echo '<br>';
echo $_POST['file-name'];



rename($_POST['file-name'], $_POST['new-name'].".jpg");


if (copy("C:/server/xampp/htdocs/IDbag/" .$_POST['new-name'].".jpg","C:/server/xampp/htdocs/IDbag/done/".$_POST['new-name'].".jpg")) {
  unlink($_POST['new-name'].".jpg");
}


echo '<br>';
echo "Successfully!";
?>



</body>
</html>

Open in new window

0
 
LVL 3

Accepted Solution

by:
Duboux earned 500 total points
ID: 35118256
Okay, I couldn't find a way in PHP to read the anchor that was sent with in the url.
Seems like it's a clientside value..

So my idea won't work on your 2 pages method.


So... solutions..

1) just take those few lines of code from the 2nd page and paste it into the 1st page and it'll work.


2) in the 2nd page, u know the new name. If you forward this to your 1st page, it'll be fine !
change the javascript function to:
function Redirect()
{
  location.href = 'http://laptop-vm/IDbag/edit.php#<?= $_POST['new-name'].".jpg" ?>';
}
and place it below the php-code

Then in your 1st page, you must adjust your anchors to the filenames.
0
 

Author Closing Comment

by:mikearmas
ID: 35150677
thank you
0

Featured Post

Free Tool: Subnet Calculator

The subnet calculator helps you design networks by taking an IP address and network mask and returning information such as network, broadcast address, and host range.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
Wordpress Security 29 49
Set time on Session (ASP) 14 23
PHP delete contents of file- before writing to it 6 25
Fix Form size HTML 16 15
Password hashing is better than message digests or encryption, and you should be using it instead of message digests or encryption.  Find out why and how in this article, which supplements the original article on PHP Client Registration, Login, Logo…
This article demonstrates how to create a simple responsive confirmation dialog with Ok and Cancel buttons using HTML, CSS, jQuery and Promises
In this tutorial viewers will learn how to embed an audio file in a webpage using HTML5. Ensure your DOCTYPE declaration is set to HTML5: : The declaration should display (CODE) HTML5 is supported by the most recent versions of all major browsers…
The viewer will learn the basics of jQuery, including how to invoke it on a web page. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery.: (CODE)

830 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question