Support » Everything else WordPress » Page specific to login ID instead of role

  • How do you create a page that can only access by this specific login ID instead of roles? Is there any available plugin? Thanks.

Viewing 2 replies - 1 through 2 (of 2 total)
  • Ian

    (@plantprogrammer)

    Hi, wstanseo, If you wish to restrict page access to a specific user ID, the following code snippet should help you with that:

    add_action( 'template_redirect', 'snippet_restrict_page_access_user_id' );
     
    function snippet_restrict_page_access_user_id() {
      if ( is_page(14) && get_current_user_id() !== 2 ) {
        wp_redirect(home_url());
        exit();
      }
    }

    You can either add the code to your functions.php file or you can use a plugin such as Code Snippets.

      Change the number 14 to another page ID you want the plugin to check for
      Change the number 2 to another user ID you want to only allow access for
      Modify the wp_redirect(home_url()); to wherever location you want them to be sent to if they don’t meet the conditions

    Olá,

    Como eu faço um botão criar em php e um botão pesquisar user id tambem em php?

    Eu fiz mas dá erro.

    Poderiam me dizer qual é o erro e a sua correção?

    O meus códigos são:

    Criar (criar uma marcação):

    <?php       
    
    global $wpdb;    
    
    /*$wpdb->show_errors();
    $result = $wpdb->get_results("SELECT * FROM this is not a valid query");
    $wpdb->hide_errors();
        */
    ?>
           
        <form name="Insercao" method="POST" action="http://fitworkouts.tk/adicionar-agenda/">
        
            <label>Preencher todos os campos</label>
        
            <?php 
        
    	
                //echo "o nome atual do autor".$nomeaut;?>
                   
                    <input type="text" id="num_pt" name="num_pt" placeholder="Insira o numero do PT: ">
                    <input type="text" id="users" name="users" placeholder="Insira ID user do aluno: ">
                    <input type="text" id="horainicio" name="horainicio" placeholder="Insira a hora inicio do treino: ">
                    <input type="text" id="horafim" name="horafim" placeholder="Insira a hora fim do treino: ">  				
                    <input type="text" id="data_treino" name="data_treino" placeholder="Insira a data do treino: "> 
    				<input type="text" id="tipo_marcacao" name="tipo_marcacao" placeholder="Insira o tipo de marcação: (treino; fisioterapia; nutricionista) ">
    				<input type="text" id="nome_aluno" name="nome_aluno" placeholder="Insira o nome do aluno: ">
    				
    				<br>
            
                    <input type="submit" name="botaocriar" value="Criar">
    				
                </form>
            
                    <br>
    
                    <form name="criarc" method="POST" action="http://fitworkouts.tk/agenda/">
                            <td><input type="submit" name="cbotaocriar" value="Cancelar"></td>
                    </form>
    
        <?php 
            
            $botaocriar = filter_input(INPUT_POST, 'botaocriar', FILTER_SANITIZE_STRING);
    
                if ($botaocriar)
                    {
    				$novonum_pt = filter_input(INPUT_POST, 'num_pt', FILTER_SANITIZE_STRING);
    				$novousers = filter_input(INPUT_POST, 'users', FILTER_SANITIZE_STRING);
    				$novohorainicio = filter_input(INPUT_POST, 'horainicio', FILTER_SANITIZE_STRING);
    				$novohorafim = filter_input(INPUT_POST, 'horafim', FILTER_SANITIZE_STRING);
    				$novodata_treino = filter_input(INPUT_POST, 'data_treino', FILTER_SANITIZE_STRING);
    				$novotipo_marcacao = filter_input(INPUT_POST, 'tipo_marcacao', FILTER_SANITIZE_STRING);
    				$novonomealuno = filter_input(INPUT_POST, 'nome_aluno', FILTER_SANITIZE_STRING);
    				
    				$sqa="INSERT INTO agenda2 ( num_pt, users, horainicio, horafim, data_treino, tipo_marcacao, nome_aluno) VALUES ( '$novonum_pt','$novousers', '$novohorainicio', '$novohorafim', '$novodata_treino', '$novotipo_marcacao', '$novonomealuno')";
    				echo $sqa;
    				echo "</br>";
    			   $result= $wpdb -> get_results($sqa);
       
    	  if (is_null($result) || !empty($wpdb->last_error)) {
    				   echo "não resultou";
                   // Query was empty or a database error occurred
                   } else {
    				   echo "resultou";
                  // Query succeeded. $results could be an empty array here
                    }
    				
    	   function agenda($npt, $n_user, $hinicio, $hfim, $dtreino, $tipo_marc, $nome_alun)
    					{
    					global $wpdb;
    					$sqlt="SELECT * FROM agenda2 WHERE num_pt = '$npt'";
    					//$sqld="SELECT * FROM wp_users WHERE users = '$n_user'";
    					$sqls="SELECT * FROM wp_users WHERE ID = '$n_user'";
    				//	$sqlt="SELECT * FROM wp_users WHERE user_login = $ID";
    					echo $sqlt;
    				//	echo $sqld;
    					echo $sqls;
    				//	echo $sqlt;
    					
    					$results= $wpdb -> get_results($sqls)
        			if (is_null($results) || !empty($wpdb->last_error))
    					{
    						 echo "não resultou";
    					}
    						else 
    						{
    							echo "resultou";
    						}
    					
    					$resultt= $wpdb -> get_results($sqlt)
    					if (is_null($resultt) || !empty($wpdb->last_error))
    					{
    					    echo "não resultou";
                        }
    					   else
    					   {
    						 echo "resultou";
    					   }
                        
    					if ($result= $wpdb -> get_results($sqls) && ($result= $wpdb -> get_results($sqlt))
    					
    			     	{ 
                   			echo "O ID user e/ou o numero PT existe.";
    								
    							    echo "<br>";  
    								echo $npt;
    								echo "<br>";
    								echo $n_user;
    								echo "<br>";
    								echo $hinicio;
    								echo "<br>";
    								echo $hfim;
    								echo "<br>";
    								echo $dtreino;
    								echo "<br>";
    								echo $tipo_marc;
    								echo "<br>";
    								echo $nome_alun;
    								echo "<br>";
    							
    								 $sqls="INSERT INTO agenda2 ( num_pt, users, horainicio, horafim, data_treino, tipo_marcacao, nome_aluno) VALUES ( '$npt','$n_user', '$hinicio', '$hfim', '$dtreino', '$tipo_marc', '$nome_alun')";
                                     $sqlt="INSERT INTO agenda2 ( num_pt, users, horainicio, horafim, data_treino, tipo_marcacao, nome_aluno) VALUES ( '$npt','$n_user', '$hinicio', '$hfim', '$dtreino', '$tipo_marc', '$nome_alun')";
    	             
    								echo "este e o sql".$sqls;
    								echo "este e o sql".$sqlt;
                
    								$result3 = $wpdb->get_results($sqls);   
    								$result3 = $wpdb->get_results($sqlt);   
    									
    							?>
    
    									<meta http-equiv="refresh" content="0; url=http://fitworkouts.tk/agenda/">
    								<?php
    						}
    					else 
    						{
    							throw new Exception('O ID user e/ou o numero PT não existe!');
    						}
    						
    						//agenda();
    					}
    
    				try 
    					{
    						//echo agenda($x)."</br>";
    						agenda($novonum_pt, $novousers, $novohorainicio, $novohorafim, $novodata_treino, $novotipo_marcacao, $novonomealuno);
    					} 
    
    				catch (Exception $e) 
    					{
    						echo 'Exceção capturada: ', $e->getMessage(), "\n";
    					}
    			//	agenda($novonum_pt);
    				
              echo "<br>"; 
    		echo $novonum_pt;
    		echo "<br>";
    		echo $novousers;
    		echo "<br>";
    		echo $novohorainicio;
    		echo "<br>";
    		echo $novohorafim;
    		echo "<br>";
    		echo $novodata_treino;
    	    echo "<br>";
    		echo $novotipo_marcacao;
    		echo "<br>";
    		echo $novonomealuno;
    		echo "<br>";
           }
    ?>
    
    Pesquisar id user:
    
    <?php
    
    	global $wpdb;
    	$result= $wpdb -> get_results("SELECT * FROM wp_users");
    
    	?>
    	
    	<center><table>
       <tr><th>ID</th><th>user_login</th><th>user_email</th><th>tipoutilizador</th><th>nome_completo</th></tr>
    	
    	<?php
    
    //	echo "<center><table><tr><th>ID</th><th>user_login</th><th>user_email</th><th>tipoutlizador</th><th>nome_completo</th></tr>";
    
    		foreach($result as $print) 
    			{?>
    			<!-- <TD WIDTH=100></TD> -->
    			
    			<tr>
    			  <!--  <td> <?php echo $print->ID     ?></td>-->
    				 <?php   
    				$idd=$print->ID;
    		
    					?>           
    					
    			    <td> <?php echo $print->user_login     ?></td>
    			    <td> <?php echo $print->user_email     ?></td>
    			    <td> <?php echo $print->tipoutilizador      ?></td>
    				<td> <?php echo $print->nome_completo      ?></td>
    				
    				<?php 
    				}
    				?>
    			<!--	<td>  
    					 <form name="pesquisar" action="http://fitworkouts.tk/pesquisa/" method="POST">
    						<input type="submit"  value="pesquisar"/>
    						</form>
    						
    			   </td> -->
    			   
    		<!--	   <td>
    			   
                    </form>
    				
    				
    			   </td> -->
    			   
    			</tr>
    			
    			<form name="pesquisarc" method="POST" action="http://fitworkouts.tk/agenda/">
                            <td><input type="submit" name="cbotaopesquisar" value="Cancelar"></td>
    				<!-- <br>
    				 
    				 </form>   -->
    			
    		
    	</table>
    	</center>
    	<?php
    	echo "finalizou";
    
    	?>

    Agradeço a quem me consiga ajudar.

    Cumprimentos.

Viewing 2 replies - 1 through 2 (of 2 total)
  • You must be logged in to reply to this topic.