2 scripts samen laten werken.

  • Onderwerp starter Onderwerp starter hacco
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

hacco

Gebruiker
Lid geworden
29 okt 2007
Berichten
63
Hallo beste mensen,

Ik wil een fotoalbum waarmee mensen ook reacties kunnen toevoegen.

Ik heb de volgende script (fotoalbum.php):
PHP:
<?php

$album = $_GET['album'];
$directory = "./$album";    
$id = $_GET['id'];
echo "<title>Fotoalbum $album</title>\n";
echo "</head>\n";
echo "<body>\n";

if(empty($album)){
    echo "Selecteer een album";
}
elseif(is_dir($directory)){
    if(!isset($id)){        
        $a_jpeg = array(); 
        if ($dir = @opendir("$directory")) {
          while (($file = readdir($dir)) !== false) {
           $filetype = substr($file,-3,3);
           if ($filetype == "jpg" || $filetype == "JPG" ){
               $a_jpeg[] = $directory."/thumbs/".$file; 
         if(!is_dir("$directory/thumbs"))
            {
                $res = @mkdir("$directory/thumbs",0777);
                
                if(!$res)
                {
                    echo "Geen rechten om thumbnails aan te maken.";
                    exit();
                }
                else
                    chmod("$directory/thumbs",0777);
            }
        
            $imagehw = GetImageSize("$directory/$file");
            $src_width = $imagehw[0];  
            $src_height = $imagehw[1];
                    
            $src_width > $src_height ? $dest_width = 75 : $dest_width = 50;
            
            $tmp = $src_width / $dest_width;
            $dest_height = $src_height / $tmp;
                
            $src_img = imagecreatefromjpeg("$directory/$file");
            $dst_img = imagecreatetruecolor($dest_width,$dest_height);
            
            imagecopyresampled($dst_img, $src_img, 0, 0, 0, 0, $dest_width,    $dest_height, $src_width, $src_height);
            imagejpeg($dst_img, "$directory/thumbs/$file", 75);
            imagedestroy($src_img);
            imagedestroy($dst_img);
             
            } 
          }
          closedir($dir);
          
        }
            echo "<table border=0 align=center>\n";
            echo "\t<tr>\n\t\t<td colspan=4 align=center><p style=\"text-transform: capitalize; font-size: 24pt\">$album</p></td>\n\t</tr>\n";

                for($i = 0; $i < count($a_jpeg); $i++){
                  echo "\t<tr>\n";
                  if(file_exists($a_jpeg[$i])){
                  echo "\t\t<td align=center><a href=\"?album=" . $album . "&id=" . $i . "\"><img src=\"".$a_jpeg[$i]."\" border=0></td>\n";
                    }
                    else
                    {
                        echo "";
                    }
                  $i++;
                  if(file_exists($a_jpeg[$i])){
                  echo "\t\t<td align=center><a href=\"?album=" . $album . "&id=" . $i . "\"><img src=\"".$a_jpeg[$i]."\" border=0></td>\n";
                    }
                    else
                    {
                        echo "";
                    }
                  $i++;
                  if(file_exists($a_jpeg[$i])){
                  echo "\t\t<td align=center><a href=\"?album=" . $album . "&id=" . $i . "\"><img src=\"".$a_jpeg[$i]."\" border=0></td>\n";
                    }
                    else
                    {
                        echo "";
                    }
                  $i++;
                  if(file_exists($a_jpeg[$i])){
                  echo "\t\t<td align=center><a href=\"?album=" . $album . "&id=" . $i . "\"><img src=\"".$a_jpeg[$i]."\" border=0></td>\n";
                    }
                    else
                    {
                        echo "";
                    }
                  echo "\t</tr>\n";
                }

            echo "\t<tr>\n\t\t<td colspan=4 align=center>Made by <a href=\"mailto:gegroettim@hotmail.com\">Zim (Tim Zuiker)</a></td>\n\t</tr>\n";
            echo "</table>"; 
        }
    else
    {
        $b_jpeg = array(); 
        if ($dir = @opendir("$directory")) {
            while (($file = readdir($dir)) !== false) {
                $filetype = substr($file,-3,3);
                if ($filetype == "jpg" || $filetype == "JPG" ){
                    $b_jpeg[] = $directory."/".$file; 
                   }
               $max = count($b_jpeg);
               }
            closedir($dir);
        }
           $volgende = $id+1;
           $volgende2 = $id+2;
           $vorige = $id-1;
           $vorige2 = $id;
           echo "<table border=1 align=center>\n";
            echo "\t<tr>\n\t\t<td colspan=2 align=center><p style=\"text-transform: capitalize; font-size: 24pt\">$album</p></td>\n\t</tr>\n";
                echo "\t<tr>\n";
                    echo "\t\t<td width=50% align=right>";
                        if($vorige2 >= 1){
                            echo "<a href=?album=$album&id=$vorige>Vorige</a>";
                        }
                        else
                        {
                            echo "Vorige";
                        }
                        echo "</td>\n";
                        
                        echo "\t\t<td width=50% align=left>";
                        if($volgende2 <= $max){
                            echo "<a href=?album=$album&id=$volgende>Volgende</a>";
                        }
                        else
                        {
                            echo "Volgende";
                        }
                        echo "</td>\n";
          echo "\t</tr>\n";
                echo "\t<tr>\n";
                    echo "\t\t<td colspan=2>";
                          echo "<img src=\"$b_jpeg[$id]\">"
						  <?php
						require('inc_rate.php');
						getComments("1");
						submitComments("1","$PHP_SELF");
					?>;
                    echo "</td>\n";
                echo "\t</tr>\n";
                echo "\t<tr>\n";
                    echo "\t\t<td align=center colspan=2>";
                        echo "<a href=?album=$album>Ga terug naar het Album</a>";
                    echo "</td>\n";
                echo "\t</tr>\n";
            echo "</table>";
			
    }
}
else
{
    echo "De directory die jij zoekt ($album) bestaat niet";
}
?>

EN ik heb een script voor de comments (inc_rate.php):

PHP:
<?php
//Please set the following variables for your MySQL database:
//Please set the following variables for your MySQL database:
//it is highly recommended that you restrict access for the user for security reasons
//it only needs "INSERT" privileges

$db_hostname = "localhost";  //usually "localhost be default"
$db_username = "h61";  //your user name
$db_pass = "162400";  //the password for your user
$db_name = "foto";  //the name of the database

?>
<style type="text/css">
<!--
body    {
        font-family: Verdana, Arial, Helvetica, sans-serif;
    font-size: 12px;
}

.bold {
        font-weight: bold;
}

.italics {
        font-style: italic;
}

.underline {
        text-decoration: underline;
}

.strikethrough {
        text-decoration: line-through;
}

.overline {
        text-decoration: overline;
}

.sized {
        text-size:
}

.quotecodeheader {
        font-family: Verdana, arial, helvetica, sans-serif;
        font-size: 12px;
        font-weight: bold;
}

.codebody {
        background-color: #FFFFFF;
    font-family: Courier new, courier, mono;
    font-size: 12px;
    color: #006600;
    border: 1px solid #BFBFBF;
}

.quotebody {
        background-color: #FFFFFF;
    font-family: Courier new, courier, mono;
    font-size: 12px;
    color: #660002;
        border: 1px solid #BFBFBF;
}

.listbullet {
        list-style-type: disc;
        list-style-position: inside;
}

.listdecimal {
        list-style-type: decimal;
        list-style-position: inside;
}

.listlowerroman {
        list-style-type: lower-roman;
        list-style-position: inside;
}

.listupperroman {
        list-style-type: upper-roman;
        list-style-position: inside;
}

.listloweralpha {
        list-style-type: lower-alpha;
        list-style-position: inside;
}

.listupperalpha {
        list-style-type: upper-alpha;
        list-style-position: inside;
}
-->
</style>

<?php
        //Local copy

        function BBCode($Text)
            {
                // Replace any html brackets with HTML Entities to prevent executing HTML or script
            // Don't use strip_tags here because it breaks [url] search by replacing & with amp
            $Text = str_replace("<", "&lt;", $Text);
            $Text = str_replace(">", "&gt;", $Text);



            // Set up the parameters for a URL search string
            $URLSearchString = " a-zA-Z0-9\:\/\-\?\&\.\=\_\~\#\'";
            // Set up the parameters for a MAIL search string
            $MAILSearchString = $URLSearchString . " a-zA-Z0-9\.@";

                        //Non BB URL Search
                        //$Text = eregi_replace("([[:alnum:]]+)://([^[:space:]]*)([[:alnum:]#?/&=])", "<a href=\"\\1://\\2\\3\" target=\"_blank\" target=\"_new\">\\1://\\2\\3</a>", $Text);
                //$Text = eregi_replace("(([a-z0-9_]|\\-|\\.)+@([^[:space:]]*)([[:alnum:]-]))", "<a href=\"mailto:\\1\" target=\"_new\">\\1</a>", $Text);
                if (substr($Text,0, 7) == "http://"){
            $Text = eregi_replace("([[:alnum:]]+)://([^[:space:]]*)([[:alnum:]#?/&=])", "<a href=\"\\1://\\2\\3\">\\1://\\2\\3</a>", $Text);
                 // Convert new line chars to html <br /> tags
            $Text = nl2br($Text);
                        } else {
            // Perform URL Search
            $Text = preg_replace("/\[url\]([$URLSearchString]*)\[\/url\]/", '<a href="javascript:go(\'$1\',\'new\')">$1</a>', $Text);
            $Text = preg_replace("(\[url\=([$URLSearchString]*)\](.+?)\[/url\])", '<a href="javascript:go(\'$1\',\'new\')">$2</a>', $Text);
                        //$Text = preg_replace("(\[url\=([$URLSearchString]*)\]([$URLSearchString]*)\[/url\])", '<a href="$1" target="_blank">$2</a>', $Text);
                         // Convert new line chars to html <br /> tags
            $Text = nl2br($Text);
                        }
            // Perform MAIL Search
            $Text = preg_replace("(\[mail\]([$MAILSearchString]*)\[/mail\])", '<a href="mailto:$1">$1</a>', $Text);
            $Text = preg_replace("/\[mail\=([$MAILSearchString]*)\](.+?)\[\/mail\]/", '<a href="mailto:$1">$2</a>', $Text);

            // Check for bold text
            $Text = preg_replace("(\[b\](.+?)\[\/b])is",'<span class="bold">$1</span>',$Text);

            // Check for Italics text
            $Text = preg_replace("(\[i\](.+?)\[\/i\])is",'<span class="italics">$1</span>',$Text);

            // Check for Underline text
            $Text = preg_replace("(\[u\](.+?)\[\/u\])is",'<span class="underline">$1</span>',$Text);

            // Check for strike-through text
            $Text = preg_replace("(\[s\](.+?)\[\/s\])is",'<span class="strikethrough">$1</span>',$Text);

            // Check for over-line text
            $Text = preg_replace("(\[o\](.+?)\[\/o\])is",'<span class="overline">$1</span>',$Text);

            // Check for colored text
            $Text = preg_replace("(\[color=(.+?)\](.+?)\[\/color\])is","<span style=\"color: $1\">$2</span>",$Text);

            // Check for sized text
            $Text = preg_replace("(\[size=(.+?)\](.+?)\[\/size\])is","<span style=\"font-size: $1px\">$2</span>",$Text);

            // Check for list text
            $Text = preg_replace("/\[list\](.+?)\[\/list\]/is", '<ul class="listbullet">$1</ul>' ,$Text);
            $Text = preg_replace("/\[list=1\](.+?)\[\/list\]/is", '<ul class="listdecimal">$1</ul>' ,$Text);
            $Text = preg_replace("/\[list=i\](.+?)\[\/list\]/s", '<ul class="listlowerroman">$1</ul>' ,$Text);
            $Text = preg_replace("/\[list=I\](.+?)\[\/list\]/s", '<ul class="listupperroman">$1</ul>' ,$Text);
            $Text = preg_replace("/\[list=a\](.+?)\[\/list\]/s", '<ul class="listloweralpha">$1</ul>' ,$Text);
            $Text = preg_replace("/\[list=A\](.+?)\[\/list\]/s", '<ul class="listupperalpha">$1</ul>' ,$Text);
            $Text = str_replace("[*]", "<li>", $Text);

            // Check for font change text
            $Text = preg_replace("(\[font=(.+?)\](.+?)\[\/font\])","<span style=\"font-family: $1;\">$2</span>",$Text);

            // Declare the format for [code] layout
            $CodeLayout = '<table width="90%" border="0" align="center" cellpadding="0" cellspacing="0">
                                <tr>
                                    <td class="quotecodeheader"> Code:</td>
                                </tr>
                                <tr>
                                    <td class="codebody">$1</td>
                                </tr>
                           </table>';
            // Check for [code] text
            $Text = preg_replace("/\[code\](.+?)\[\/code\]/is","$CodeLayout", $Text);

            // Declare the format for [quote] layout
            $QuoteLayout = '<table width="90%" border="0" align="center" cellpadding="0" cellspacing="0">
                                <tr>
                                    <td class="quotecodeheader"> Quote:</td>
                                </tr>
                                <tr>
                                    <td class="quotebody">$1</td>
                                </tr>
                           </table>';

            // Check for [code] text
            $Text = preg_replace("/\[quote\](.+?)\[\/quote\]/is","$QuoteLayout", $Text);

            // Images
            // [img]pathtoimage[/img]
            $Text = preg_replace("/\[img\](.+?)\[\/img\]/", '<img src="$1">', $Text);

            // [img=widthxheight]image source[/img]
            $Text = preg_replace("/\[img\=([0-9]*)x([0-9]*)\](.+?)\[\/img\]/", '<img src="$3" height="$2" width="$1">', $Text);

                return $Text;
                }


//END 3rd PARTY CODE

//quick script to make the data look nice
function formatDate($val)
  {
      list($date, $time) = explode(" ", $val);
      list($year, $month, $day) = explode("-", $date);
      list($hour, $minute, $second) = explode (":", $time);
      return date("l, m.j.y @ H:ia", mktime($hour, $minute, $second, $month, $day, $year));
  }



function getComments($tutid){
//creates a function that can easily be called from any page

//create the css code to make the form look good.  You can edit this to change colors, etc:
echo "
<style>
/*COMMENTS
*------------------------------------*/

.postedby {
        padding: 0 0 0 18px;
        background: url(images/abullet.gif) no-repeat 0 4px;
        }
        
h3.formtitle {
        margin : 0px 0px 0px 0px;
        border-bottom: 1px dotted #ccc;
        padding-bottom: 8px;
        }

.commentbody {
        border-top: 1px dotted #ccc;
        }
        
/*gray box*/
.submitcomment, #submitcomment, #currentcomments, #rating, .textad {
        background-color: #F5F5F5;
        border: 1px dotted #ccc;
        padding: 5px;
        padding: 5px;
        margin: 20px 0px 0px 0px;
        }


/*FORMS
*------------------------------------*/

.form {
        background-color: #FAFAFA;
        border: solid 1px #C6C6C6;
        padding: 2px;
        }

.formtext {
        background-color: #FAFAFA;
        border: solid 1px #C6C6C6;
        padding: 2px;
        border-bottom: 1px dotted #ccc
        }

.form:hover, .formtext:hover {
        background: white;
        }
        
.form:focus, .formtext:focus {
        background: white;
        border: solid 1px #000000;
        }
        
.submit {
        background-color: #D3D3D3;
        border: solid 1px #C6C6C6;
        border-right:  solid 1px #9A9A9A;
        border-bottom:  solid 1px #9A9A9A;
        }
        
.submit:hover, .submit:focus {
        background: #EDEDED;
        }
        </style>

        
        ";
//fetch all comments from database where the tutorial number is the one you are asking for
        $commentquery = mysql_query("SELECT * FROM comments WHERE tutorialid='$tutid' ORDER BY date") or die(mysql_error());
//find the number of comments
        $commentNum = mysql_num_rows($commentquery);
//create a headline
        echo "<div id=\"currentcomments\" class=\"submitcomment\"><h3 class=\"formtitle\">Current Comments</h3>\n";
        echo $commentNum . " comments so far (<a href=\"#post\">post your own</a>)\n";
//for each comment in the database in the right category number...
        while($commentrow = mysql_fetch_row($commentquery)){
//for security, parse through the bbcode script
//the number corresponds to the column (the message is always stored in column 4
//COUTING STARTS at 0!!!
        $commentbb = BBCode($commentrow[4]);
//create the right date format
                $commentDate = formatDate($commentrow[6]);

                echo "<div class=\"commentbody\" id=\"$commentrow[0]\">\n
                <p>$commentbb</p>\n
                <p class=\"postedby\">Posted by ";
                if($commentrow[3]){
                echo "<a href=\"$commentrow[3]\">$commentrow[2]</a> ";
                } else {
                echo "$commentrow[2] ";
                }
                echo "on $commentDate | #$commentrow[0]</p>\n
                \n</div>";

        }
        echo "</div>";
}

function submitComments($tutid2,$tuturl){
//a javascript script to make sure all the required fields are filled in
?>
<script language="javascript">

function form_Validator(form)
{

  if (form.name.value == "")
  {
    alert("Please enter your name.");
    form.name.focus();
        return (false);
     }

  if (form.message.value == "")
  {
    alert("Please enter your message.");
    form.message.focus();
    return (false);
  }
  
  return (true);
  }
  //-->
  </script>
<?php
//create the form to submit comments
//you can add more fields, but make sure you add them to the db table and the page, submitcomment.php
        echo "
<a name=\"post\">
<div id=\"submitcomment\" class=\"submitcomment\">
<form name=\"submitcomment\" method=\"post\" action=\"submitcomment.php\" onSubmit=\" return form_Validator(this)\">
<table width=\"100%\">
                <tr>
                                <th colspan=\"2\"><h3 class=\"formtitle\">Leave your comment:</h3></th>
                </tr>
                <tr>

                                <th scope=\"row\"><p class=\"req\">Name:</p></th>
                                <td><input class=\"form\" tabindex=\"1\" id=\"name\" name=\"name\" /></td>
                </tr>
                <tr>
                                <th scope=\"row\"><p class=\"opt\">Email:</p></th>
                                <td><input class=\"form\" tabindex=\"2\" id=\"email\" name=\"email\" /></td>
                </tr>
                <tr>

                                <th scope=\"row\"><p class=\"opt\">URL:</p></th>
                                <td><input class=\"form\" tabindex=\"3\" id=\"url\" name=\"url\" /></td>
                </tr>
                <tr valign=\"top\">
                                <th scope=\"row\"><p class=\"req\">Comments:</p><br /></th>
                                <td><textarea class=\"formtext\" tabindex=\"4\" id=\"message\" name=\"message\" rows=\"10\" cols=\"50\"></textarea></td>
                </tr>

                <tr>    
                                <td>&nbsp;</td>
                                <td><input type=\"submit\" name=\"post\" class=\"submit\" value=\"Submit Comment\" /><br />
                                <p>Note:  Emails will not be visible or used in any way, and are not required.  Please keep comments relevant. Any content deemed inappropriate or offensive may be edited and/or deleted. </p>

<p>No HTML code is allowed.  Line breaks will be converted automatically.  URLs will be auto-linked.  Please use BBCode to format your text.</p>

</td>
                </tr>
</table>
<input type=\"hidden\" name=\"tuturl\" value=\"$tuturl\" />
<input type=\"hidden\" name=\"tutid2\" value=\"$tutid2\" />
</form>


</div>
";
}
?>

Mijn vraag is hoe kan ik ervoor zorgen dat deze tweeën samen werken.
Als ik dit scriptje hieronder gebruik dan kan ik wel naar de volgende foto's maar de comments blijven onderaan bij elke foto het zelfde.

PHP:
<?php
require('inc_rate.php');
getComments("1");
submitComments("1","$PHP_SELF");
?>

Alvast bedankt,

m.v.g. hacco
Code:
[CODE]
[/CODE]
 
Laatst bewerkt:
Tip 1:
Gebruik de [ php] tags, dan zijn je scripts ook nog te lezen.

Tip 2:
Eerst zelf proberen, en niet gewoon vragen of wij het voor je maken.
 
Tip 1:
Gebruik de [ php] tags, dan zijn je scripts ook nog te lezen.

Tip 2:
Eerst zelf proberen, en niet gewoon vragen of wij het voor je maken.

Geloof het of niet ik heb het geprobeerd, ik heb dat korte scriptje eerst aan het eind geplakt werkte niet daarna bij de foto zelf lukte ook niet.

P.S. PHP is ook een ramp bij mij.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan