<?php echo "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?".">"; ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>favorieten4-8</title> <link rel="stylesheet" href="phpcursus.css" type="text/css" /> <link rel="shortcut icon" href="Images/hortensia.ico" /> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <meta name="keywords" content="cursus PHP" /> <meta name="description" content="Uitleg werken met PHP" /> <meta name="Autor" content="Solveg" /> <style type="text/css"> BODY    {scrollbar-3dlight-color:#999966;          scrollbar-arrow-color:#996666;          scrollbar-base-color:#999966;          scrollbar-track-color:#996666;          scrollbar-darkshadow-color:#999966;          scrollbar-face-color:#996666;          scrollbar-highlight-color:#999966;          scrollbar-shadow-color:#996666} </style> <script language="JavaScript" type="text/JavaScript"> <!-- function MM_reloadPage(init) {  //reloads the window if Nav4 resized   if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {     document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}   else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload(); } MM_reloadPage(true); //--> </script> </head> <br /> <table width="65%" border="1" align="center" cellspacing="10" bordercolor="#000000" bgcolor="#999966" id="PHP">   <tr bordercolor="#000000" bgcolor="#999999">      <td width="72%" colspan="3"> <table width="100%" border="1" cellpadding="6" cellspacing="10" bordercolor="#000000" bgcolor="#996666">         <tr>            <td><table width="100%" border="1" cellpadding="100" cellspacing="6" bordercolor="#000000" bgcolor="#996666">               <tr bgcolor="#D6D6AD">                  <td width="6%" bordercolor="#000000" bgcolor="#D6D6AD"></td>               </tr>               <tr bgcolor="#D6D6AD">                 <td bordercolor="#000000" bgcolor="#D6D6AD"><p align="right"><a href="week4.php"><strong>Terug</strong></a> <strong><a href="show.php">Source</a></strong><img src="Images/hallosurfer.gif" alt="Hallo Surfer" width="113" height="117" /></p>                                         <?php require("functie4-8.php");                     if (IsSet($_POST['password']) && $_POST['password'] == "Sol")  {  /*          password is in orde!!          als welke_actie geen waarde heeft, dan gewoon de favorietenpagina opmaken      */ /*  als welke_actie geen waarde heeft, dan gewoon de favorietenpagina opmaken  */  if (IsSet($_POST['welke_actie']))  {      if ($_POST['welke_actie'] == "Wijzig")  {  /*  als verwijzing_wijzigen is afgesloten met een  succesvolle aanpassing van het favorietenbestand  wordt true teruggegeven, anders false  */       if (verwijzing_wijzigen($_POST['regel']))  {      pagina_opmaken();  }  }  // einde Wijzig      elseif ($_POST['welke_actie'] == "Gooi weg")  {      verwijzing_verwijderen($_POST['regel']);      pagina_opmaken();  } // einde Gooi weg      elseif ($_POST['welke_actie'] == "Nieuw")  {  /*  in het formulier wordt de actie op Wijzig gezet, dus  het vervolg van deze actie wordt afgehandeld in de tak Wijzig  */          wijzigingsformulier("", "", "", "");  }  // einde Nieuw      else // welke_actie heeft een onbekende waarde  {          pagina_opmaken();  }  }  else  // welke_actie heeft nog helemaal geen waarde gekregen  {      pagina_opmaken();  }// einde if IsSet welke_actie  } // einde if password in orde   else  {  // password nog niet in orde bevonden      if (IsSet($_POST['password']))  {      echo '<p><h3><b>MIJN FAVORIETEN</b></h3></p>';         echo '<p>Mis... probeer het nog een keer! misschien is het wel "Sol"!!</p>';  }      else  {           echo '<p>Om verder te kunnen moet je hier het password invullen!</p>';  }      echo '          <form action="'.$_SERVER['PHP_SELF'].'" method="post">          <input type="password" name="password" size="10" maxlength="10" style="background-color:##D6D6AD;border-color:#996666;border-width:6;color:#333366;font-weight:bold;font-size:16"><br><br>          <input type="submit" name="submit" value="Sesam!" style="background-color:##D6D6AD;border-color:#996666;border-width:6;color:#333366;font-weight:bold;font-size:16">          </form>';  }   ?>                   <div align="right"></div></td>               </tr>             </table></td>         </tr>       </table></td>   </tr> </table> </body> </html> 
<?php echo "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?".">"; ?> <?php /*  function pagina_opmaken()  Maak een pagina met verwijzingen naar favorieten.  */  function pagina_opmaken()  {  echo '<p><h3><b>MIJN FAVORIETEN</b></h3></p>';
  // het bestand met de verwijzingen in een array inlezen      $array_favorieten = file("favo.txt");  // de regelovergangen uit de tabel verwijderen, die worden bij het  //wegschrijven van het bestand opnieuw toegevoegd      for ($i=0; $i<count($array_favorieten); $i++)  {      $array_favorieten[$i] = trim($array_favorieten[$i]);  }  // tellen hoeveel elementen er in de tabel zijn terechtgekomen      $totaal = sizeof($array_favorieten);  // als er geen verwijzingen zijn een melding geven      if ($totaal == 0)  {      echo "<p>Er zijn geen verwijzingen aangetroffen in het bestand met favorieten.</p>";  }      else  {  // een variabele om te bepalen of de naam van de rubriek getoond moet worden      $rubriek_vorig = "";  // van elk element in de array een verwijzing maken       foreach ($array_favorieten as $regel)  {  // regel opsplitsen in rubriek, linknaam en linkurl  // zoeken naar  de haakjes, let daarbij op de beginpositie voor het zoeken      $vanaf1 = strpos($regel, '(', 0) + 1;          $lengte1 = strpos($regel, ')', 0) - $vanaf1;      $rubriek = substr($regel, $vanaf1, $lengte1); 
      $vanaf2  = strpos($regel, '(', $vanaf1+$lengte1) + 1;      $lengte2    = strpos($regel, ')', $vanaf2) - $vanaf2;      $linknaam  = substr($regel, $vanaf2, $lengte2); 
      $vanaf3  = strpos($regel, '(', $vanaf2+$lengte2) + 1;      $lengte3    = strpos($regel, ')', $vanaf3) - $vanaf3;      $linkurl = substr($regel, $vanaf3, $lengte3);  //  rubriek alleen bij verandering tonen      if ($rubriek != $rubriek_vorig)  {      echo '<p><b>' . $rubriek . '</b></p>';      $rubriek_vorig = $rubriek;  }  // de verwijzing zelf, voorzien van de knop Wijzig en gooiweg      echo '
          <form action="'.$_SERVER['PHP_SELF'].'" method="post">         <input type="submit" name="welke_actie" value="Wijzig" style="background-color:##D6D6AD;border-color:#996666;border-width:6;color:#333366;font-weight:bold;font-size:16">         <input type="submit" name="welke_actie" value="Gooi weg" style="background-color:##D6D6AD;border-color:#996666;border-width:6;color:#333366;font-weight:bold;font-size:16">         <input type="hidden" name="password" value="' . $_POST['password'] . '">          <input type ="hidden" name="regel" value="' . $regel . '">         <a target="_blank" href="' . $linkurl . '">' . $linknaam . '</a>         </form><br>';   }  // einde foreach()  }  // einde if ($totaal == 0)      echo '          <form action="'.$_SERVER['PHP_SELF'].'" method="post">          <input type="hidden" name="password" value="' . $_POST['password'] . '">          <input type="submit" name="welke_actie" value="Nieuw" style="background-color:##D6D6AD;border-color:#996666;border-width:6;color:#333366;font-weight:bold;font-size:16"></form>';  } 
 
  //einde pagina_opmaken() 
  /*  function verwijzing_wijzigen()  Een bestaande verwijzing wijzigen of een nieuwe verwijzing toevoegen.  $w_regel bevat de verwijzing die gewijzigd moet worden  als $w_regel leeg is, gaat het om een nieuwe verwijzing  De terugkeerwaarde van deze functie:  true: de wijziging is helemaal afgerond, de favorietenpagina kan opnieuw getoond worden  false: de wijziging is nog onderhanden  */  function verwijzing_wijzigen($w_regel)  {  // de drie velden die een nieuwe inhoud zullen krijgen      $w_rubriek = "";      $w_linknaam = "";      $w_linkurl = ""; 
  // controleer of de rubriek ingevuld is      if (IsSet($_POST['rubriek']))  {          $w_rubriek = $_POST['rubriek'];  } 
  // controleer of de linknaam ingevuld is      if (IsSet($_POST['linknaam']))  {          $w_linknaam = $_POST['linknaam'];  } 
  // controleer of de linkurl ingevuld is      if (IsSet($_POST['linkurl']))  {          $w_linkurl = $_POST['linkurl'];  } 
 
  // als alledrie de velden zijn ingevuld: bestand met favorieten aanpassen      if ($w_rubriek != "" && $w_linknaam != "" && $w_linkurl != "")  {          bestand_aanpassen($w_regel, $w_rubriek, $w_linknaam, $w_linkurl);          return true;  } 
      // als niet alledrie de velden ingevuld zijn: een melding en het formulier opnieuw tonen      echo 'Alle velden moeten verplicht ingevuld worden!';      wijzigingsformulier($w_regel, $w_rubriek, $w_linknaam, $w_linkurl);      return false; 
  } // einde verwijzing_wijzigen() 
   /*  function verwijzing_verwijderen()  Een verwijzing uit het bestand verwijderen.  */  function verwijzing_verwijderen($v_regel)  {  // het bestand met de verwijzingen in een array inlezen      $array_favorieten = file("favo.txt"); 
  // de regelovergangen uit de tabel verwijderen, die worden bij  // het wegschrijven van het bestand opnieuw toegevoegd      for ($i=0; $i<count($array_favorieten); $i++)  {          $array_favorieten[$i] = trim($array_favorieten[$i]);  } 
  // opzoeken welk element het in de tabel is      $array_index  = array_search($v_regel, $array_favorieten); 
  // de verwijzing verwijderen      array_splice($array_favorieten, $array_index, 1); 
  // de tabel samenvoegen tot een bestand      $favo_bestand = implode("\r\n", $array_favorieten);        // het bestand met favorieten wegschrijven      $fh_favo = fopen("favo.txt", "w");      if ($fh_favo)  {          fwrite($fh_favo, $favo_bestand);  }      fclose($fh_favo); 
  } // einde verwijzing_verwijderen() 
  /*  function bestand_aanpassen ()  Het bestand met favorieten daadwerkelijk aanpassen.  In $b_regel staat de oorspronkelijke verwijzing  (leeg ingeval van een nieuwe verwijzing).  In de andere drie variabelen staan eventueel aangepaste gegevens.  */  function bestand_aanpassen ($b_regel, $b_rubriek, $b_linknaam, $b_linkurl)  {  // inhoud van de nieuwe verwijzing samenstellen      $b_nieuwe_regel = '(' . $b_rubriek . ')(' . $b_linknaam . ')(' . $b_linkurl . ')'; 
  // het bestand met de verwijzingen in een array inlezen      $array_favorieten = file("favo.txt"); 
  // de regelovergangen uit de tabel verwijderen, die worden bij het  //wegschrijven van het bestand opnieuw toegevoegd      for ($i=0; $i<count($array_favorieten); $i++)  {          $array_favorieten[$i] = trim($array_favorieten[$i]);  } 
  // alleen voor bestaande elementen het origineel verwijderen      if ($b_regel != "")  {  // opzoeken welk element het in de array is          $array_index  = array_search($b_regel, $array_favorieten); 
  // de oude verwijzing verwijderen          array_splice($array_favorieten, $array_index, 1);  } 
  // de vernieuwde verwijzing toevoegen      array_push($array_favorieten, $b_nieuwe_regel); 
  // de array sorteren zodat de favorieten in de goede volgorde getoond worden      sort ($array_favorieten); 
  // de array samenvoegen tot een bestand      $favo_bestand = implode("\r\n", $array_favorieten);      // het bestand met favorieten wegschrijven      $fh_favo = fopen("favo.txt", "w");      if ($fh_favo)  {          fwrite($fh_favo, $favo_bestand);  }      fclose($fh_favo);  } // einde bestand_aanpassen () 
 
 
  /*  function wijzigingsformulier ()  Toon een formulier waarmee een verwijzing aangepast kan worden.  In $f_regel staat de oorspronkelijke verwijzing  (leeg ingeval van een nieuwe verwijzing).  In de andere drie velden staan eventueel aangepaste gegevens.  */ 
  function wijzigingsformulier ($f_regel, $f_rubriek, $f_linknaam, $f_linkurl)  {  // oorspronkelijke verwijzing ontrafelen  // voor een nieuwe link is er geen oorspronkelijke verwijzing      if ($f_regel != "")  {          $vanaf1 = strpos($f_regel, '(', 0) + 1;              $lengte1 = strpos($f_regel, ')', 0) - $vanaf1;          $rubriek = substr($f_regel, $vanaf1, $lengte1); 
          $vanaf2 = strpos($f_regel, '(', $vanaf1+$lengte1) + 1;          $lengte2 = strpos($f_regel, ')', $vanaf2) - $vanaf2;          $linknaam = substr($f_regel, $vanaf2, $lengte2); 
          $vanaf3 = strpos($f_regel, '(', $vanaf2+$lengte2) + 1;          $lengte3 = strpos($f_regel, ')', $vanaf3) - $vanaf3;          $linkurl = substr($f_regel, $vanaf3, $lengte3);  } 
  // bestaande inhoud van een veld laten zien, dat scheelt typewerk      if ($f_rubriek == "")  {          $f_rubriek = $rubriek;  } 
      if ($f_linknaam == "")  {          $f_linknaam = $linknaam;  } 
      if ($f_linkurl == "")  {          $f_linkurl = $linkurl;  } 
  // het formulier voor een wijziging naar het scherm schrijven      echo '          <form action="'.$_SERVER['PHP_SELF'].'" method="post">          <input type="hidden" name="password" value="' . $_POST['password'] . '">          <input type ="hidden" name="regel" value="' . $f_regel . '">          <p>          Rubriek:<br>          <input type="text" name="rubriek" size="50" maxlength="100" value="'.$f_rubriek.'"><br>          Linknaam:<br>          <input type="text" name="linknaam" size="50" maxlength="100" value="'.$f_linknaam.'"><br>          Link URL:<br>          <input type="text" name="linkurl" size="50" maxlength="255" value="'.$f_linkurl.'">          </p>          <p>Wijzig de inhoud van de rubriek en klik op Wijzig! Alle velden zijn verplicht.</p>          <p><input type="submit" name="welke_actie" value="Wijzig" ></p>          </form>          '; 
  } // einde wijzigingsformulier()  ?>  
 | 
               
              | 
         
        |