Multidesk.be » Forums » PHP » mijn install.php file

  • Pagina
  • 1 van 1
0 gasten lezen dit onderwerp.
^ Onderwerp geschreven door BoeMan op woensdag 6 januari 2010 om 18:08:13.
BoeMan heeft nog geen avatar toegevoegd
Multiviteit: 154
Dag allemaal,

ik ben voor mijn stage een webapplicatie aan het ontwikkelen en zou dit graag doen met een install.php doen voor het aanmaken van databasetabellen en de admin gegevens in de database te zetten.
Nu heb ik zoiets geschreven maar er zijn wat probleempjes. Met de gegevens die ik in de tekstvakken ingeef kan ik connectie met de database maken en de 2 tabellen, gebruikers en herstellingen worden aangemaakt.
Maar de gegevens worden niet geregistreerd in gebruikers, zover lijkt het script gewoon niet te komen, ook de errors werken niet, terwijl ik dit op net dezelfde manier deed in vorige registratiescripts en dat werkte daar wel perfect.

PHP
  1.  
  2. <?
  3. if($_POST['install']){
  4.         $username = htmlentities($_POST['username']);
  5.         $password1 = sha1(htmlentities($_POST['password1']));
  6.         $password2 = sha1(htmlentities($_POST['password2']));
  7.         $email = htmlentities($_POST['email']);
  8.         $db_host = $_POST['db_host'];
  9.         $db_user = $_POST['db_user'];
  10.         $db_pass = $_POST['db_pass'];
  11.         $db_name = $_POST['db_name'];
  12.         $webname = $_POST['website_name'];
  13.        
  14.         //gegevens controlleren
  15.         $Error = "";
  16.         $err = false;
  17.        
  18.         if(empty($username)) {
  19.                 $Error .="Vul  een username in aub"; $err=true;
  20.                 }
  21.         if(strlen($username)>15 or strlen($username)<3 ) {
  22.                 $Error .= "Uw gebruikersnaam moet minimum 3 en maximum 15 karakters bevatten."; $err=true;
  23.                 }
  24.         if(empty($email)) {
  25.                 $Error .="Vul een e-mail adres in aub."; $err=true;
  26.                 }
  27.         if(!preg_match('/^[a-z0-9&\'\.\-_\+]+@[a-z0-9\-]+\.([a-z0-9\-]+\.)*?[a-z]+$/is', $email)){
  28.                 $Error .= "Vul aub een geldig E-mail adres in."; $err=true;
  29.                 }
  30.         if(empty($password1)) {
  31.                 $Error .="Geef een wachtwoord op."; $err=true;
  32.                 }
  33.         if(empty($password2)) {
  34.                 $Error .="Bevestig uw wachtwoord aub."; $err=true;
  35.                 }
  36.         if($password1 != $password2) {
  37.                 $Error .= "Geef aub 2 dezelfde paswoorden op.<br>"; $err=true ;
  38.                 }
  39.         if(strlen($password1)>15 or strlen($password1)<5) {
  40.                 $Error .= "Je paswoord moet minstens 5 en maximum 15 characters bevatten<br>"; $err=true;
  41.                 }
  42.                
  43.         //verbinding maken met database
  44.         mysql_connect($db_host,$db_user,$db_pass) or die (mysql_error());
  45.         mysql_select_db($db_name);
  46.         //tabel herstellingen aanmaken in database
  47.         mysql_query("CREATE TABLE herstellingen(
  48.                                                                                         id INT(255) not null auto_increment primary key,                                                               
  49.                                                                                         klant_id INT (255) not null,
  50.                                                                                         naam varchar(50) not null,
  51.                                                                                         telefoon varchar(12) not null,
  52.                                                                                         probleem text(255) not null,
  53.                                                                                         vestiging varchar(15) not null,
  54.                                                                                         datum varchar(20) NOT NULL
  55.                                                                                         )") or die (mysql_error());
  56.         mysql_query("CREATE TABLE gebruikers(
  57.                                                                                 id INT(255) not null auto_increment primary key,                                                                                               
  58.                                                                                 name varchar(15) not null,
  59.                                                                                 password varchar(15) not null,
  60.                                                                                 email varchar(30) not null,
  61.                                                                                 databse_host varchar(9) not null,
  62.                                                                                 database_user varchar(32) not null,
  63.                                                                                 database_pass varchar(32) not null,
  64.                                                                                 database_name varchar(32) not null,
  65.                                                                                 website_name varchar(20) not null
  66.                                                                                 )") or die (mysql_error());
  67.  
  68.         if($err == false){
  69.         $msg ="Uw gegevens zijn goed registreerd in de database.";
  70.         mysql_query("INSERT INTO gebruikers(
  71.                                                                                  name,
  72.                                                                                  password,
  73.                                                                                  email,
  74.                                                                                  database_host,
  75.                                                                                  database_user,
  76.                                                                                  database_pass,
  77.                                                                                  database_name,
  78.                                                                                  website_name
  79.                                                                                  ) values (
  80.                                                                                                  '$username',
  81.                                                                                                  '$password1',
  82.                                                                                                  '$email',
  83.                                                                                                  sha1('$db_host',
  84.                                                                                                  '$db_user',
  85.                                                                                                  '$db_pass',
  86.                                                                                                  '$db_name'),
  87.                                                                                                  '$webname'
  88.                                                                                                  )") or die (mysql_error());
  89.                 $Subject = $webname;
  90.                 $Headers  = 'MIME-Version: 1.0' . "\r\n";
  91.                 $Headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
  92.                 $Headers .= 'From: noreply@$webname.be' . "\r\n";
  93.                 $Message = "Welkom bij $webname,<br>
  94.                                         je kan voortaan bij ons inloggen met volgende gegevens:<br><br>
  95.                                         Gebruikersnaam: $Username<br>
  96.                                         Wachtwoord: $Password1<br>
  97.                                        
  98.                                         We hopen je vaak op onze site terug te vinden <br>
  99.                                         en wensen je er veel plezier!<br><br>
  100.                                         Groeten,<br>
  101.                                         Het $webname Team<br>
  102.                                         <a href='$varWebURL'>$varWebURL</a><br>[ Dit is een automatische E-mail. Gelieve hier niet op te antwoorden. ]";
  103.  
  104.                 mail($email,$Subject,$Message,$Headers);       
  105.                 header("location:login.php");
  106.                 */
  107.                 }
  108. }else{
  109. ?>
  110. <table border="0" align="center" cellpadding="0" cellspacing="0">              
  111. <td width="350" style="width:350px">
  112.             <table cellpadding="4" cellspacing="1" border="0">     
  113.               <tr bgcolor="#f1f0ef">
  114.                 <td><p><strong>Welkom op de installatiepagina.</strong> <br>
  115.                 Hier kan je je administrator gegevens ingeven, deze worden daarna in de database opgeslaan.
  116.                 Later kan je inloggen met de gegevens die je net hebt ingegeven en meerdere administator account aanmaken eens je bent ingelogd.<br>
  117.                 <br>
  118.                 Dit script wordt verwijderd na de installatie.</p></td>
  119.               </tr>     
  120.             </table>       
  121.                 </td>
  122.         </tr>
  123. </table>
  124. <br>
  125. <?php echo("<font color='red'>$Error</font>") ?>
  126. <br>
  127. <table border="0" align="center" cellpadding="0" cellspacing="0">              
  128. <td width="350" style="width:350px">
  129.         <form name="install" method="post" action="install.php">
  130.             <table cellpadding="4" cellspacing="1" border="0">     
  131.               <tr bgcolor="#f1f0ef">
  132.                 <td>Username:</td>
  133.                 <td width="216"><input name="username" type="text" style="width: 200px;" /></td>
  134.               </tr>
  135.               <tr bgcolor="#e9e8e7">
  136.                 <td>Password:</td>
  137.                 <td width="216"><input name="password1" type="password" style="width: 200px;" /></td>
  138.               </tr>
  139.               <tr bgcolor="#f1f0ef">
  140.                 <td>Confirm password:</td>
  141.                 <td width="216"><input name="password2" type="password" style="width: 200px;" /></td>
  142.               </tr>
  143.               <tr bgcolor="#e9e8e7">
  144.                 <td>E-mail:</td>
  145.                 <td width="216"><input name="email"     type="text" style="width: 200px;" /></td>
  146.               </tr>
  147.               <tr bgcolor="#f1f0ef">
  148.                 <td>Database host:</td>
  149.                 <td width="216"><input name="db_host"   type="text" style="width: 200px;" /></td>
  150.               </tr>
  151.               <tr bgcolor="#e9e8e7">
  152.                 <td>Database username:</td>
  153.                 <td width="216"><input name="db_user"   type="text" style="width: 200px;" /></td>
  154.               </tr>
  155.               <tr bgcolor="#f1f0ef">
  156.                 <td>Database password:</td>
  157.                 <td width="216"><input name="db_pass"   type="password" style="width: 200px;" /></td>
  158.               </tr>
  159.               <tr bgcolor="#e9e8e7">
  160.                 <td>Database name:</td>
  161.                 <td width="216"><input name="db_name"   type="text" style="width: 200px;" /></td>
  162.               </tr>
  163.                <tr bgcolor="#e9e8e7">
  164.                 <td>Website name:</td>
  165.                 <td width="216"><input name="website_name"      type="text" style="width: 200px;" /></td>
  166.               </tr>
  167.               <tr>
  168.               <tr bgcolor="#f1f0ef">
  169.                 <td></td>
  170.                 <td align="right"><input type='submit' name='install' value='Install'/>   </td>
  171.               </tr>     
  172.             </table>       
  173.         </form>
  174.         </td>
  175.         </tr>
  176. </table>               
  177. <?php
  178. }
  179. ?>                                                                                         
  180.  


Graag zou ik jullie mening en liefst een oplossing hebben voor mijn problemen ;)
Als alles werkt zet ik er nog een unlink in, zodat het script niet meer bereikbaar is eenmaal de tabellen zijn aangemaakt en de administrator geregistreerd is.

Mvg Gijs
^ Reactie #1 geschreven door Martijn op woensdag 6 januari 2010 om 18:27:15.
Martijn heeft nog geen avatar toegevoegd
Multiviteit: 13785
Beheerder
Op regel 106 heb je een sluit tag voor commentaar staan. Waar wordt die geopend?

Worden de instructies in het if-statement op lijn 68 uitgevoerd?

Staat error_reporting op E_ALL?
Met vriendelijke groeten,
Martijn Wouters
^ Reactie #2 geschreven door BoeMan op woensdag 6 januari 2010 om 18:35:57.
BoeMan heeft nog geen avatar toegevoegd
Multiviteit: 154
Ohja, ik had een paar dingen in commentaar gezet om te testen of het zonder werkte, maar dat ging dus niet. Die tag ben ik vergeten te verwijderen dan.

Ik denk dat er vanaf 106 niets meer uitgevoerd wordt. Ik krijg geen mail en er staat niets in de database, de tabellen staan er wel.
^ Reactie #3 geschreven door Martijn op woensdag 6 januari 2010 om 18:41:55.
Martijn heeft nog geen avatar toegevoegd
Multiviteit: 13785
Beheerder
En de antwoorden vraag 2 en 3? :-)
Met vriendelijke groeten,
Martijn Wouters
^ Reactie #4 geschreven door BoeMan op woensdag 6 januari 2010 om 18:56:11.
BoeMan heeft nog geen avatar toegevoegd
Multiviteit: 154
excuseer, ik bedoelde vanaf lijn 68 wordt er niets meer uitgevoerd, niet vanaf 106.
Ik krijg geen error. Gewoon een witte pagina.
^ Reactie #5 geschreven door Martijn op woensdag 6 januari 2010 om 19:52:01.
Martijn heeft nog geen avatar toegevoegd
Multiviteit: 13785
Beheerder
Doe eens een var_dump() van $err.
Met vriendelijke groeten,
Martijn Wouters
^ Reactie #6 geschreven door BoeMan op woensdag 6 januari 2010 om 20:36:09.
BoeMan heeft nog geen avatar toegevoegd
Multiviteit: 154
De error's werken nu. Alleen ben ik met een 2e script begonnen op aanraden van een vriend, maar dan in OOP PHP. Maar daar ben ik nog niet zo'n held in dus ik denk dat er nog wel vragen over volgen;)
^ Reactie #7 geschreven door BoeMan op woensdag 6 januari 2010 om 21:49:49.
BoeMan heeft nog geen avatar toegevoegd
Multiviteit: 154
Ik denk eigenlijk niet dat een script dat je maar 1x gebruikt vol met classes moet staan, als ik een paar functies gebruik is het genoeg normaal? Wat is jullie mening?:)
Dan werk ik wat verder aan het eerste script ;)

Mvg Gijs
^ Reactie #8 geschreven door Martijn op donderdag 7 januari 2010 om 07:12:23.
Martijn heeft nog geen avatar toegevoegd
Multiviteit: 13785
Beheerder
Als je een goede IDE gebruikt, is het aanmaken van classes doorgaans niet meer tijd.

Afhankelijk van hoe complex je script is, kan OO je wel helpen je effectieve script een pak overzichtelijker te maken.
Met vriendelijke groeten,
Martijn Wouters
^ Reactie #9 geschreven door BoeMan op zaterdag 9 januari 2010 om 12:04:51.
BoeMan heeft nog geen avatar toegevoegd
Multiviteit: 154
Is het mogelijk om de database gegevens, die ik in mijn install.php ingeef, naar mijn db_connect.php te kopieren?
Ik zou geen andere mogelijkheid zien om dit te doen, want die gegevens kan ik niet opslaan in database uiteraard, want dan moet ik eerst connectie hebben voordat ik de username en password kan uithalen.

Mvg Gijs
^ Reactie #10 geschreven door Kilian op zaterdag 9 januari 2010 om 15:11:50.
Kilian heeft nog geen avatar toegevoegd
Multiviteit: 1629
Ja, dit gaat. Lees volgende pagina eens na voor de juiste functies en gebruik: http://www.tizag.com/phpT/filewrite.php
^ Reactie #11 geschreven door Martijn op zaterdag 9 januari 2010 om 15:57:19.
Martijn heeft nog geen avatar toegevoegd
Multiviteit: 13785
Beheerder
Wel letten op het feit dat je de bovenliggende map doorgaans ook van de correcte permissies moet voorzien!
Met vriendelijke groeten,
Martijn Wouters
^ Reactie #12 geschreven door BoeMan op zaterdag 9 januari 2010 om 19:04:09.
BoeMan heeft nog geen avatar toegevoegd
Multiviteit: 154
Met die File create kan ik normaal inderdaad een bestand aanmaken, maar kan ik er ook de variabelen mee invullen? Als ik bijvoorbeeld als een file db_connect.php aanmaak, alleen de variabelen moeten nog ingevuld worden. Dat gaat niet zeker met deze functie?
^ Reactie #13 geschreven door Kilian op zaterdag 9 januari 2010 om 19:25:25.
Kilian heeft nog geen avatar toegevoegd
Multiviteit: 1629
Ziet de inhoud van je db_connect er voor de rest altijd het zelfde uit? Anders kan je gewoon de hele rimram aanmaken met de functie ipv he bestand mee laten uploaden.

Een andere optie waar ik op kom is om het bestand te lezen met file_get_contents en dan die enkele dingen vervangen met str_replace. Vervolgens terug het hele bestand overschrijven. Wellicht is het een betere oplossing voor. Iemand anders?
^ Reactie #14 geschreven door BoeMan op zaterdag 9 januari 2010 om 22:41:39.
BoeMan heeft nog geen avatar toegevoegd
Multiviteit: 154
Even een tussenstand geven van mijn scriptje :)
Het werkt nu, alle gegevens worden in de database gezet, zet wel de database gegevens niet meer in de database, want ik kan ze er toch niet uithalen voor connectie te maken want dan moet die uiteraard al gemaakt zijn ;)

Als ik van $username, $password1, $password2 en $email een global maak zou ik normaal toch heel de gegevens controleren mikmak naar functies.php kunnen zetten normaal? Maar wat gebeurt er dan met de $Error en $err, die moet ik dan uiteraard ook global maken want ander kunnen ze niet terug weergegeven worden in install.php?

PHP
  1.  
  2. <?
  3. if($_POST['install']){
  4.         $username = htmlentities($_POST['username']);
  5.         $password1 = htmlentities($_POST['password1']);
  6.         $password2 = htmlentities($_POST['password2']);
  7.         $email = htmlentities($_POST['email']);
  8.         $db_host = $_POST['db_host'];
  9.         $db_user = $_POST['db_user'];
  10.         $db_pass = $_POST['db_pass'];
  11.         $db_name = $_POST['db_name'];
  12.         $webname = $_POST['website_name'];
  13.        
  14.         //gegevens controlleren
  15.         $Error = "";
  16.         $err = false;
  17.        
  18.         if(empty($username)) {
  19.                 $Error .="Vul  een username in a.u.b.<br>"; $err=true;
  20.                 }
  21.         if(strlen($username)>15 or strlen($username)<3 ) {
  22.                 $Error .= "Uw gebruikersnaam moet minimum 3 en maximum 15 karakters bevatten.<br>"; $err=true;
  23.                 }
  24.         if(empty($email) or !preg_match('/^[a-z0-9&\'\.\-_\+]+@[a-z0-9\-]+\.([a-z0-9\-]+\.)*?[a-z]+$/is', $email)) {
  25.                 $Error .="Vul een geldig e-mailadres in a.u.b.<br>"; $err=true;
  26.                 }       
  27.         if(empty($password1)) {
  28.                 $Error .="Geef een wachtwoord op.<br>"; $err=true;
  29.                 }
  30.         if(empty($password2)) {
  31.                 $Error .="Bevestig uw wachtwoord a.u.b.<br>"; $err=true;
  32.                 }
  33.         if($password1 != $password2) {
  34.                 $Error .= "Geef a.u.b. 2 dezelfde paswoorden op.<br>"; $err=true ;
  35.                 }
  36.         if(strlen($password1)>15 or strlen($password1)<5) {
  37.                 $Error .= "Je paswoord moet minstens 5 en maximum 15 characters bevatten<br>"; $err=true;
  38.                 }
  39.         //verbinding maken met database
  40.         $controle = mysql_connect($db_host,$db_user,$db_pass) or die (mysql_error());
  41.                                 mysql_select_db($db_name);
  42.         if($err == false){
  43.         //tabel herstellingen aanmaken in database
  44.         mysql_query("CREATE TABLE herstellingen(
  45.                                                                                         id INT(255) not null auto_increment primary key,                                                               
  46.                                                                                         klant_id INT (255) not null,
  47.                                                                                         naam varchar(50) not null,
  48.                                                                                         telefoon varchar(12) not null,
  49.                                                                                         probleem text(255) not null,
  50.                                                                                         vestiging varchar(15) not null,
  51.                                                                                         datum varchar(20) NOT NULL
  52.                                                                                         )") or die (mysql_error());
  53.         mysql_query("CREATE TABLE administrators(
  54.                                                                                 id INT(255) not null auto_increment primary key,                                                                                               
  55.                                                                                 name varchar(15) not null,
  56.                                                                                 password varchar(15) not null,
  57.                                                                                 email varchar(30) not null,
  58.                                                                                 website_name varchar(20) not null
  59.                                                                                 )") or die (mysql_error());
  60.         //gegevens in database zetten
  61.         mysql_query("INSERT INTO administrators(
  62.                                                                                  name,
  63.                                                                                  password,
  64.                                                                                  email,
  65.                                                                                  website_name
  66.                                                                                  ) values (
  67.                                                                                                  '$username',
  68.                                                                                                  '$password1',
  69.                                                                                                  '$email',
  70.                                                                                                  '$webname'
  71.                                                                                                  )") or die (mysql_error());
  72.                 //zend e-mail naar de admin
  73.                 $Subject = $webname;
  74.                 $Headers  = 'MIME-Version: 1.0' . "\r\n";
  75.                 $Headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
  76.                 $Headers .= 'From: noreply@$webname.be' . "\r\n";
  77.                 $Message = "Welkom $username,<br>
  78.                                         U kan voortaan inloggen als administrator met de volgende gegevens:<br><br>
  79.                                         Gebruikersnaam: $username<br>
  80.                                         Wachtwoord: $password1<br><br>
  81.                                        
  82.                                         We wensen U veel succes en vele bezoekers, <br>
  83.                                         veel plezier!<br><br>
  84.                                         Met vriendelijke groeten $webname,<br>
  85.                                         [Dit is een automatische E-mail.]";
  86.  
  87.                 mail($email,$Subject,$Message,$Headers);       
  88.                 header("location:install_succes.php");
  89.                 //unlink install.php na installatie
  90.                 @unlink("install.php");
  91.                 }else{
  92. ?>
  93. <html>
  94. <title>cms install</title>
  95. </html>
  96. <table border="0" align="center" cellpadding="0" cellspacing="0">              
  97. <td width="350" style="width:350px">
  98.             <table cellpadding="4" cellspacing="1" border="0">     
  99.               <tr bgcolor="#f1f0ef">
  100.                 <td><p><strong>Welkom op de installatiepagina.</strong> <br>
  101.                 Hier kan je je administrator gegevens ingeven, deze worden daarna in de database opgeslaan.
  102.                 Later kan je inloggen met de gegevens die je net hebt ingegeven en meerdere administator account aanmaken eens je bent ingelogd.<br>
  103.                 <br>
  104.                 Dit script wordt verwijderd na de installatie.</p></td>
  105.               </tr>     
  106.             </table>       
  107.                 </td>
  108.         </tr>
  109. </table>
  110. <br>
  111. <table border="0" align="center" cellpadding="0" cellspacing="0">
  112. <?php
  113. echo("<font color='red'>$Error</font>");
  114. }
  115. ?>
  116. </table>
  117. <br>
  118. <table border="0" align="center" cellpadding="0" cellspacing="0">              
  119. <td width="350" style="width:350px">
  120.         <form name="install" method="post" action="install.php">
  121.             <table cellpadding="4" cellspacing="1" border="0">     
  122.               <tr bgcolor="#f1f0ef">
  123.                 <td>Username:</td>
  124.                 <td width="216"><input name="username" type="text" style="width: 200px;" /></td>
  125.               </tr>
  126.               <tr bgcolor="#e9e8e7">
  127.                 <td>Password:</td>
  128.                 <td width="216"><input name="password1" type="password" style="width: 200px;" /></td>
  129.               </tr>
  130.               <tr bgcolor="#f1f0ef">
  131.                 <td>Confirm password:</td>
  132.                 <td width="216"><input name="password2" type="password" style="width: 200px;" /></td>
  133.               </tr>
  134.               <tr bgcolor="#e9e8e7">
  135.                 <td>E-mail:</td>
  136.                 <td width="216"><input name="email"     type="text" style="width: 200px;" /></td>
  137.               </tr>
  138.               <tr bgcolor="#f1f0ef">
  139.                 <td>Database host:</td>
  140.                 <td width="216"><input name="db_host"   type="text" style="width: 200px;" /></td>
  141.               </tr>
  142.               <tr bgcolor="#e9e8e7">
  143.                 <td>Database username:</td>
  144.                 <td width="216"><input name="db_user"   type="text" style="width: 200px;" /></td>
  145.               </tr>
  146.               <tr bgcolor="#f1f0ef">
  147.                 <td>Database password:</td>
  148.                 <td width="216"><input name="db_pass"   type="password" style="width: 200px;" /></td>
  149.               </tr>
  150.               <tr bgcolor="#e9e8e7">
  151.                 <td>Database name:</td>
  152.                 <td width="216"><input name="db_name"   type="text" style="width: 200px;" /></td>
  153.               </tr>
  154.                <tr bgcolor="#e9e8e7">
  155.                 <td>Website name:</td>
  156.                 <td width="216"><input name="website_name"      type="text" style="width: 200px;" /></td>
  157.               </tr>
  158.               <tr>
  159.               <tr bgcolor="#f1f0ef">
  160.                 <td></td>
  161.                 <td align="right"><input type='submit' name='install' value='Install'/>   </td>
  162.               </tr>     
  163.             </table>       
  164.         </form>
  165.         </td>
  166.         </tr>
  167. </table>               
  168. <?php
  169. }else{
  170. ?>
  171. <table border="0" align="center" cellpadding="0" cellspacing="0">              
  172. <td width="350" style="width:350px">
  173.             <table cellpadding="4" cellspacing="1" border="0">     
  174.               <tr bgcolor="#f1f0ef">
  175.                 <td><p><strong>Welkom op de installatiepagina.</strong> <br>
  176.                 Hier kan je je administrator gegevens ingeven, deze worden daarna in de database opgeslaan.
  177.                 Later kan je inloggen met de gegevens die je net hebt ingegeven en meerdere administator account aanmaken eens je bent ingelogd.<br>
  178.                 <br>
  179.                 Dit script wordt verwijderd na de installatie.</p></td>
  180.               </tr>     
  181.             </table>       
  182.                 </td>
  183.         </tr>
  184. </table>
  185. <br>
  186.  
  187. <br>
  188. <table border="0" align="center" cellpadding="0" cellspacing="0">              
  189. <td width="350" style="width:350px">
  190.         <form name="install" method="post" action="install.php">
  191.             <table cellpadding="4" cellspacing="1" border="0">     
  192.               <tr bgcolor="#f1f0ef">
  193.                 <td>Username:</td>
  194.                 <td width="216"><input name="username" type="text" style="width: 200px;" /></td>
  195.               </tr>
  196.               <tr bgcolor="#e9e8e7">
  197.                 <td>Password:</td>
  198.                 <td width="216"><input name="password1" type="password" style="width: 200px;" /></td>
  199.               </tr>
  200.               <tr bgcolor="#f1f0ef">
  201.                 <td>Confirm password:</td>
  202.                 <td width="216"><input name="password2" type="password" style="width: 200px;" /></td>
  203.               </tr>
  204.               <tr bgcolor="#e9e8e7">
  205.                 <td>E-mail:</td>
  206.                 <td width="216"><input name="email"     type="text" style="width: 200px;" /></td>
  207.               </tr>
  208.               <tr bgcolor="#f1f0ef">
  209.                 <td>Database host:</td>
  210.                 <td width="216"><input name="db_host"   type="text" style="width: 200px;" /></td>
  211.               </tr>
  212.               <tr bgcolor="#e9e8e7">
  213.                 <td>Database username:</td>
  214.                 <td width="216"><input name="db_user"   type="text" style="width: 200px;" /></td>
  215.               </tr>
  216.               <tr bgcolor="#f1f0ef">
  217.                 <td>Database password:</td>
  218.                 <td width="216"><input name="db_pass"   type="password" style="width: 200px;" /></td>
  219.               </tr>
  220.               <tr bgcolor="#e9e8e7">
  221.                 <td>Database name:</td>
  222.                 <td width="216"><input name="db_name"   type="text" style="width: 200px;" /></td>
  223.               </tr>
  224.                <tr bgcolor="#e9e8e7">
  225.                 <td>Website name:</td>
  226.                 <td width="216"><input name="website_name"      type="text" style="width: 200px;" /></td>
  227.               </tr>
  228.               <tr>
  229.               <tr bgcolor="#f1f0ef">
  230.                 <td></td>
  231.                 <td align="right"><input type='submit' name='install' value='Install'/>   </td>
  232.               </tr>     
  233.             </table>       
  234.         </form>
  235.         </td>
  236.         </tr>
  237. </table>                                                                                                                       
  238. <?php
  239. }
  240. ?>
  241.  


Mvg Gijs
^ Reactie #15 geschreven door Martijn op zondag 10 januari 2010 om 11:58:37.
Martijn heeft nog geen avatar toegevoegd
Multiviteit: 13785
Beheerder
Ik zie dat je nergens effectief een function() gebruikt; je hebt dus ook het keyword global niet nodig.
Met vriendelijke groeten,
Martijn Wouters
^ Reactie #16 geschreven door BoeMan op zondag 10 januari 2010 om 12:07:04.
BoeMan heeft nog geen avatar toegevoegd
Multiviteit: 154
Maar als ik nu alles van regel 15 tot 38 in een ander bestand wil zetten. Dan moet ik toch wel global $usename = htmlentities($_POST["username"]); gebruiken?
Anders kan functies.php er toch nooit aan?
Denk ik toch:)
^ Reactie #17 geschreven door Martijn op zondag 10 januari 2010 om 16:14:30.
Martijn heeft nog geen avatar toegevoegd
Multiviteit: 13785
Beheerder
Zolang je dat niet in een functie (of class) plaatst niet neen, probeer het maar eens.
Met vriendelijke groeten,
Martijn Wouters
^ Reactie #18 geschreven door BoeMan op maandag 11 januari 2010 om 18:39:11.
BoeMan heeft nog geen avatar toegevoegd
Multiviteit: 154
Ik heb een functie gegevens_controleren proberen te schrijven, maar als ik ze wil gebruiken krijg ik een error in mijn mysql_connect, in het script install.php.
Parse error: syntax error, unexpected T_STRING, expecting '{' in /opt/www/claesa2/web/www.brainview.net/gijs/autosoft/install.php on line 19

Maar zover ik weet moet er daar helemaal geen { staan.

install.php
PHP
  1.  
  2. <?
  3. require_once("include/functions.php");
  4.  
  5. if($_POST['install']){
  6.         $username = stripslashes(trim($_POST['username']));
  7.         $password1 = stripslashes(trim($_POST['password1']));
  8.         $password2 = stripslashes(trim($_POST['password2']));
  9.         $email = stripslashes(trim($_POST['email']));
  10.         $db_host = $_POST['db_host'];
  11.         $db_user = $_POST['db_user'];
  12.         $db_pass = $_POST['db_pass'];
  13.         $db_name = $_POST['db_name'];
  14.         $webname = $_POST['website_name'];
  15.         //gegevens controlleren
  16.         $Error = "";
  17.         $err = false;
  18.         function gegevens_controleren()
  19.         //verbinding maken met database
  20.         mysql_connect($db_host,$db_user,$db_pass) or die (mysql_error());
  21.                                 mysql_select_db($db_name);
  22.         if($err == false){
  23.         //tabel herstellingen aanmaken in database
  24.         mysql_query("CREATE TABLE herstellingen(
  25.                                                                                         id INT(255) not null auto_increment primary key,                                                               
  26.                                                                                         klant_id INT (255) not null,
  27.                                                                                         naam varchar(50) not null,
  28.                                                                                         telefoon varchar(12) not null,
  29.                                                                                         probleem text(255) not null,
  30.                                                                                         vestiging varchar(15) not null,
  31.                                                                                         datum varchar(20) NOT NULL
  32.                                                                                         )") or die (mysql_error());
  33.         mysql_query("CREATE TABLE administrators(
  34.                                                                                 id INT(255) not null auto_increment primary key,                                                                                               
  35.                                                                                 name varchar(15) not null,
  36.                                                                                 password varchar(15) not null,
  37.                                                                                 email varchar(30) not null,
  38.                                                                                 website_name varchar(20) not null
  39.                                                                                 )") or die (mysql_error());
  40.         //gegevens in database zetten
  41.         mysql_query("INSERT INTO administrators(
  42.                                                                                  name,
  43.                                                                                  password,
  44.                                                                                  email,
  45.                                                                                  website_name
  46.                                                                                  ) values (
  47.                                                                                                  '$username',
  48.                                                                                                  '$password1',
  49.                                                                                                  '$email',
  50.                                                                                                  '$webname'
  51.                                                                                                  )") or die (mysql_error());
  52.                 //zend e-mail naar de admin
  53.                 $Subject = $webname;
  54.                 $Headers  = 'MIME-Version: 1.0' . "\r\n";
  55.                 $Headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
  56.                 $Headers .= 'From: noreply@'.$webname.'.be' . "\r\n";
  57.                 $Message = "Welkom $username,<br>
  58.                                         U kan voortaan inloggen als administrator met de volgende gegevens:<br><br>
  59.                                         Gebruikersnaam: $username<br>
  60.                                         Wachtwoord: $password1<br><br>
  61.                                        
  62.                                         We wensen U veel succes en vele bezoekers, <br>
  63.                                         veel plezier!<br><br>
  64.                                         Met vriendelijke groeten $webname,<br>
  65.                                         [Dit is een automatische E-mail.]";
  66.  
  67.                 mail($email,$Subject,$Message,$Headers);       
  68.                 header("location:install_succes.php");
  69.                 //unlink install.php na installatie
  70.                 @unlink("install.php");
  71.                 }else{
  72. ?>
  73. <html>
  74. <title>cms install</title>
  75. </html>
  76. <table border="0" align="center" cellpadding="0" cellspacing="0">              
  77. <td width="350" style="width:350px">
  78.             <table cellpadding="4" cellspacing="1" border="0">     
  79.               <tr bgcolor="#f1f0ef">
  80.                 <td><p><strong>Welkom op de installatiepagina.</strong> <br>
  81.                 Hier kan je je administrator gegevens ingeven, deze worden daarna in de database opgeslaan.
  82.                 Later kan je inloggen met de gegevens die je net hebt ingegeven en meerdere administator account aanmaken eens je bent ingelogd.<br>
  83.                 <br>
  84.                 Dit script wordt verwijderd na de installatie.</p></td>
  85.               </tr>     
  86.             </table>       
  87.                 </td>
  88.         </tr>
  89. </table>
  90. <br>
  91. <table border="0" align="center" cellpadding="0" cellspacing="0">
  92. <?php
  93. echo("<font color='red'>$Error</font>");
  94. }
  95. ?>
  96. </table>
  97. <br>
  98. <table border="0" align="center" cellpadding="0" cellspacing="0">              
  99. <td width="350" style="width:350px">
  100.         <form name="install" method="post" action="install.php">
  101.             <table cellpadding="4" cellspacing="1" border="0">     
  102.               <tr bgcolor="#f1f0ef">
  103.                 <td>Username:</td>
  104.                 <td width="216"><input name="username" type="text" style="width: 200px;" /></td>
  105.               </tr>
  106.               <tr bgcolor="#e9e8e7">
  107.                 <td>Password:</td>
  108.                 <td width="216"><input name="password1" type="password" style="width: 200px;" /></td>
  109.               </tr>
  110.               <tr bgcolor="#f1f0ef">
  111.                 <td>Confirm password:</td>
  112.                 <td width="216"><input name="password2" type="password" style="width: 200px;" /></td>
  113.               </tr>
  114.               <tr bgcolor="#e9e8e7">
  115.                 <td>E-mail:</td>
  116.                 <td width="216"><input name="email"     type="text" style="width: 200px;" /></td>
  117.               </tr>
  118.               <tr bgcolor="#f1f0ef">
  119.                 <td>Database host:</td>
  120.                 <td width="216"><input name="db_host"   type="text" style="width: 200px;" /></td>
  121.               </tr>
  122.               <tr bgcolor="#e9e8e7">
  123.                 <td>Database username:</td>
  124.                 <td width="216"><input name="db_user"   type="text" style="width: 200px;" /></td>
  125.               </tr>
  126.               <tr bgcolor="#f1f0ef">
  127.                 <td>Database password:</td>
  128.                 <td width="216"><input name="db_pass"   type="password" style="width: 200px;" /></td>
  129.               </tr>
  130.               <tr bgcolor="#e9e8e7">
  131.                 <td>Database name:</td>
  132.                 <td width="216"><input name="db_name"   type="text" style="width: 200px;" /></td>
  133.               </tr>
  134.                <tr bgcolor="#e9e8e7">
  135.                 <td>Website name:</td>
  136.                 <td width="216"><input name="website_name"      type="text" style="width: 200px;" /></td>
  137.               </tr>
  138.               <tr>
  139.               <tr bgcolor="#f1f0ef">
  140.                 <td></td>
  141.                 <td align="right"><input type='submit' name='install' value='Install'/>   </td>
  142.               </tr>     
  143.             </table>       
  144.         </form>
  145.         </td>
  146.         </tr>
  147. </table>               
  148. <?php
  149. }else{
  150. ?>
  151. <table border="0" align="center" cellpadding="0" cellspacing="0">              
  152. <td width="350" style="width:350px">
  153.             <table cellpadding="4" cellspacing="1" border="0">     
  154.               <tr bgcolor="#f1f0ef">
  155.                 <td><p><strong>Welkom op de installatiepagina.</strong> <br>
  156.                 Hier kan je je administrator gegevens ingeven, deze worden daarna in de database opgeslaan.
  157.                 Later kan je inloggen met de gegevens die je net hebt ingegeven en meerdere administator account aanmaken eens je bent ingelogd.<br>
  158.                 <br>
  159.                 Dit script wordt verwijderd na de installatie.</p></td>
  160.               </tr>     
  161.             </table>       
  162.                 </td>
  163.         </tr>
  164. </table>
  165. <br>
  166.  
  167. <br>
  168. <table border="0" align="center" cellpadding="0" cellspacing="0">              
  169. <td width="350" style="width:350px">
  170.         <form name="install" method="post" action="install.php">
  171.             <table cellpadding="4" cellspacing="1" border="0">     
  172.               <tr bgcolor="#f1f0ef">
  173.                 <td>Username:</td>
  174.                 <td width="216"><input name="username" type="text" style="width: 200px;" /></td>
  175.               </tr>
  176.               <tr bgcolor="#e9e8e7">
  177.                 <td>Password:</td>
  178.                 <td width="216"><input name="password1" type="password" style="width: 200px;" /></td>
  179.               </tr>
  180.               <tr bgcolor="#f1f0ef">
  181.                 <td>Confirm password:</td>
  182.                 <td width="216"><input name="password2" type="password" style="width: 200px;" /></td>
  183.               </tr>
  184.               <tr bgcolor="#e9e8e7">
  185.                 <td>E-mail:</td>
  186.                 <td width="216"><input name="email"     type="text" style="width: 200px;" /></td>
  187.               </tr>
  188.               <tr bgcolor="#f1f0ef">
  189.                 <td>Database host:</td>
  190.                 <td width="216"><input name="db_host"   type="text" style="width: 200px;" /></td>
  191.               </tr>
  192.               <tr bgcolor="#e9e8e7">
  193.                 <td>Database username:</td>
  194.                 <td width="216"><input name="db_user"   type="text" style="width: 200px;" /></td>
  195.               </tr>
  196.               <tr bgcolor="#f1f0ef">
  197.                 <td>Database password:</td>
  198.                 <td width="216"><input name="db_pass"   type="password" style="width: 200px;" /></td>
  199.               </tr>
  200.               <tr bgcolor="#e9e8e7">
  201.                 <td>Database name:</td>
  202.                 <td width="216"><input name="db_name"   type="text" style="width: 200px;" /></td>
  203.               </tr>
  204.                <tr bgcolor="#e9e8e7">
  205.                 <td>Website name:</td>
  206.                 <td width="216"><input name="website_name"      type="text" style="width: 200px;" /></td>
  207.               </tr>
  208.               <tr>
  209.               <tr bgcolor="#f1f0ef">
  210.                 <td></td>
  211.                 <td align="right"><input type='submit' name='install' value='Install'/>   </td>
  212.               </tr>     
  213.             </table>       
  214.         </form>
  215.         </td>
  216.         </tr>
  217. </table>                                                                                                                       
  218. <?php
  219. }
  220. ?>
  221.  


functions.php
PHP
  1.  
  2. <?php
  3. require_once("include/db_connect.php");
  4.  
  5. function gegevens_controleren(){
  6.         global $Error;
  7.         global $err;
  8.         global $username;
  9.         global $email;
  10.         global $password1;
  11.         global $password2;
  12.        
  13.         if(empty($username)) {
  14.                 $Error .="Vul  een username in a.u.b.<br>"; $err=true;}
  15.         if(strlen($username)>15 or strlen($username)<3 ) {
  16.                 $Error .= "Uw gebruikersnaam moet minimum 3 en maximum 15 karakters bevatten.<br>"; $err=true;}
  17.         if(empty($email) or !preg_match('/^[a-z0-9&\'\.\-_\+]+@[a-z0-9\-]+\.([a-z0-9\-]+\.)*?[a-z]+$/is', $email)) {
  18.                 $Error .="Vul een geldig e-mailadres in a.u.b.<br>"; $err=true;}       
  19.         if(empty($password1)) {
  20.                 $Error .="Geef een wachtwoord op.<br>"; $err=true;}
  21.         if(empty($password2)) {
  22.                 $Error .="Bevestig uw wachtwoord a.u.b.<br>"; $err=true;}
  23.         if($password1 != $password2) {
  24.                 $Error .= "Geef a.u.b. 2 dezelfde paswoorden op.<br>"; $err=true ;}
  25.         if(strlen($password1)>15 or strlen($password1)<5) {
  26.                 $Error .= "Je paswoord moet minstens 5 en maximum 15 characters bevatten<br>"; $err=true;}
  27. }
  28. ?>
  29.  


install_succes.php
PHP
  1.  
  2. <?php
  3. header('refresh: 5; url=login.php');
  4. @unlink("install_succes.php");
  5. ?>
  6. <html>
  7. <title>Installatie succesvol!</title>
  8. <table border="0" align="center" cellpadding="0" cellspacing="0">              
  9. <td width="350" style="width:350px">
  10.             <table cellpadding="4" cellspacing="1" border="0">     
  11.               <tr bgcolor="#f1f0ef">
  12.                 <td><p><strong>Uw gegevens zijn succesvol geregisteerd.</strong><br>
  13.                 U wordt na 5 seconden doorgestuurt naar de login pagina.<br>
  14.                 </td>
  15.               </tr>     
  16.             </table>       
  17.                 </td>
  18.         </tr>
  19. </table>
  20. </html>
  21.  


Mvg Gijs
  • Pagina
  • 1 van 1

Snel-antwoordformulier
Toon uitgebreid antwoordformulier Bericht nalezen Bericht plaatsen