2017-12-01 2 views
0

PHPファイルでexternフォームを使用して新しいWordpressユーザーを作成しようとしています。 Leerlingは学生のためのものであり、私はUser Role Pluginを使って作成した役割です。フォームが作成するすべてのユーザーには、役割が委任されている必要があります。WP externフォームを使用して新しいユーザーを作成するときにユーザーロールが空のままになる

私はそれをしようとするために、次のコードを使用しています:

 <?php 
     // Maakt een connectie met de database 

     $con = mysqli_connect("localhost", "root", "", "scoreplugin_db"); 

     if (!$con) { 
      die("Connection failed: " . mysqli_connect_error()); 
     } 

     // Haalt gegevens uit het registratieformulier, en genereert overige gegevens 

     if (isset($_POST['btn-signup'])) { 
      $uname = mysqli_real_escape_string($con, $_POST['uname']); 
      $achternaam = mysqli_real_escape_string($con, $_POST['achternaam']); 
      $upass = wp_hash_password(mysqli_real_escape_string($con, $_POST['pass'])); 
      $datum = mysqli_real_escape_string($con, $_POST['datum']); 
      $email = mysqli_real_escape_string($con, $_POST['email']); 
      $basisschool = mysqli_real_escape_string($con, $_POST['basisschool']); 
      $opleidingsduur = mysqli_real_escape_string($con, $_POST['opleidingsduur']); 
      $bsgroep = mysqli_real_escape_string($con, $_POST['bsgroep']); 
      $url = '#leerling'; 
      $fullname = $uname . ' ' . $achternaam; 


      // Query's om alle user data in de database op te slaan 

      $userdata = "INSERT INTO wp_users (user_login,user_pass,user_nicename,user_email,user_url,user_registered,display_name) VALUES('$email','$upass','$uname','$email','$url','now()','$fullname')"; 

      $userinfo = "INSERT INTO wp_users_info (user_voornaam,user_achternaam,user_geboortedatum,user_basisschool,user_opleidingsduur,user_groep) VALUES('$uname','$achternaam','$datum','$basisschool','$opleidingsduur','$bsgroep')"; 

      // Voert bovenstaande query's uit 

      if (!mysqli_query($con, $userdata)) { 
       die('Error: ' . mysqli_error($con)); 
      } 
      if (!mysqli_query($con, $userinfo)) { 
       die('Error: ' . mysqli_error($con)); 
      } 

      // User ID ophalen om meta op te slaan 
      $newuserid = mysqli_insert_id($con); 

      echo "$newuserid"; 

      // De rank die de gebruiker automatisch meekrijgt 
      $rank = 'a:1:{s:8:"leerling";b:1;}'; 


      // Query's om usermeta op te slaan 
      $addusernickname = "INSERT INTO wp_usermeta (user_id,meta_key,meta_value) VALUES ('$newuserid','nickname','$uname')"; 

      $adduserfirstname = "INSERT INTO wp_usermeta (user_id,meta_key,meta_value) VALUES ('$newuserid','first_name','$uname')"; 

      $adduserlastname = "INSERT INTO wp_usermeta (user_id,meta_key,meta_value) VALUES ('$newuserid','last_name','$achternaam')"; 

      $adduserrank = "INSERT INTO wp_usermeta (user_id,meta_key,meta_value) VALUES ('$newuserid','wp_capabilities', '$rank')"; 

      $adduserlevel = "INSERT INTO wp_usermeta (user_id,meta_key,meta_value) VALUES ('$newuserid','wp_user_level', '0')"; 

      $adminbar = "INSERT INTO wp_usermeta (user_id,meta_key,meta_value) VALUES ('$newuserid','show_admin_bar_front', 'false')"; 

      // Voert de metaquery's uit 
      if (!mysqli_query($con, $addusernickname)) { 
       die('Error: ' . mysqli_error($con)); 
      } 

      if (!mysqli_query($con, $adduserfirstname)) { 
       die('Error: ' . mysqli_error($con)); 
      } 

      if (!mysqli_query($con, $adduserlastname)) { 
       die('Error: ' . mysqli_error($con)); 
      } 

      if (!mysqli_query($con, $adduserrank)) { 
       die('Error: ' . mysqli_error($con)); 
      } 

      if (!mysqli_query($con, $adduserlevel)) { 
       die('Error: ' . mysqli_error($con)); 
      } 

      if (!mysqli_query($con, $adminbar)) { 
       die('Error: ' . mysqli_error($con)); 
      } 
     } 
     ?> 
     <!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> 
       <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
       <title>Schools in Music - nieuw account</title> 
       <link rel="stylesheet" href="style.css" type="text/css" /> 
      </head> 
      <body style="background-repeat: no-repeat;" background="http://test.schoolsinmusic.nl/wp-content/themes/schoolsinmusic/img/bglogin.png"> 
       <center> 
        <div id="login-form"> 
         <form method="post"> 
          <table align="center" width="30%" border="0"> 
           <tr> 
            <td><input class="registrationinput" type="text" name="uname" pattern="^[a-zA-Z ]+$" placeholder="Vul hier je voornaam in" required /></td> 
           </tr> 
           <tr> 
            <td><input class="registrationinput" type="text" name="achternaam" pattern="^[a-zA-Z ]+$" placeholder="Vul hier je achternaam in" required /></td> 
           </tr> 
           <tr> 
            <td><input class="registrationinput" type="date" min='1900-01-01' max='2017-01-01' id="datepicker" name="datum" placeholder="Wanneer ben je geboren?" required /></td> 
           </tr> 
           <tr> 
            <td><input class="registrationinput" type="email" name="email" placeholder="Vul hier je emailadres in" required /></td> 
           </tr> 
           <tr> 
            <td><input class="registrationinput" type="password" name="pass" placeholder="Vul hier je wachtwoord in" required /></td> 
           </tr> 
           <tr> 
            <td><input class="registrationinput" type="text" name="basisschool" placeholder="Op welke basisschool zit je?" required /></td> 
           </tr> 
           <tr> 
            <div id="selectoptions"> 
             <td style="font-family: PoetsenOne-Regular; float: right;">Hoe lang speel je al muziek? <select style="font-family: PoetsenOne-Regular;" name="opleidingsduur"> required /> 
               <option value="-1">Minder dan 1 jaar</option> 
               <option value="1">1 jaar</option> 
               <option value="2">2 jaar</option> 
               <option value="3">3 jaar</option> 
               <option value="4">4 jaar</option> 
             </td> 
           </tr> 
           <tr> 
            <td style="font-family: PoetsenOne-Regular; float: right;">In welke groep zit je? <select style="font-family: PoetsenOne-Regular;" name="bsgroep"> required /> 
              <option value="1">Groep 1</option> 
              <option value="2">Groep 2</option> 
              <option value="3">Groep 3</option> 
              <option value="4">Groep 4</option> 
              <option value="5">Groep 5</option> 
              <option value="6">Groep 6</option> 
              <option value="7">Groep 7</option> 
              <option value="8">Groep 8</option> 
            </td> 
            </div> 

           </tr> 
           <tr> 
            <td><button class="login-button" style="font-family: PoetsenOne-Regular;" type="submit" name="btn-signup" >Registreren</button></td> 
           </tr> 

          </table> 
         </form> 
        </div> 
       </center> 
      </body> 
     </html> 

情報がデータベースに書き込まれています。しかし、管理者では、ユーザーロールは空のままです。 (私が管理者としてwp-adminにログインし、ユーザーページを見ると、新しいユーザーには役割はありません)。

誰かが私が間違っていることを教えてもらえますか?

ジェフリー

+0

を参照してください、クエリは行//クエリのオムusermetaオペアンプTE slaan下にあります –

答えて

関連する問題