Hallo allemaal, ik probeer een adres boek te maken met PHP. Waarin elke gebruiker van de website zijn eigen contacten kan opslaan. Het probleem is alleen dat ik geen idee heb hoe ik dit moet doen. Ik heb een aantal tutorials op youtube geprobeerd na te maken maar zonder succes (video's zijn van 6 jaar terug & gebruiken dus geen mysqli) Kan iemand me hierbij helpen of in de goede richting wijzen
Opzich verschilt MySQL niet veel van MySQLi. Het is in de procedurele versie met mysql_query() vs. mysqli_query etc. een kwestie van een 'i' toevoegen, een parameter voor de functie toevoegen of een andere functienaam gebruiken.

Verder is een adresboek niet zo heel speciaal, en voegt met met een INSERT-query het adres in dat je wilt invoegen, leest het met een SELECT-query de adressen uit, en kan je met UPDATE en DELETE de adressen wijzigen en verwijderen.
Okee ik heb nu dit geschreven als code
 <?php
if (!isset($_SESSION)) { session_start(); }

include "connect.php";

if (!isset($_SESSION['login']) || $_SESSION['login'] !== true || !isset($_SESSION['userid']) || $_SESSION['userid'] == "") {
	header('location: login.php');
	exit();
// Natuurlijk wel even controleren of de user daadwerkelijk is ingelogd!
// Als de login niet bestaat, terugsturen naar de homepage. Tevens script stoppen met uitvoeren voor de extra veiligheid.
} else {
	session_regenerate_id();
	// sessio_regenerate_id moet je altijd gebruiken wanneer de autorisatie van een gebruiker veranderd.
	// Dit is tegen de hack session fixation, waarbij een hacker meelift op de sessie van een ander.


	$userQuery = mysqli_query($conn, "SELECT roepnaam, telefoon, naam, bedrijf, stad, straat1, straat2, provincie, postcode, email FROM address");
	// $userid is een integer (getal), en deze zet je in SQL niet tussen quotes.
	// Tevens hoeft dit niet geHEX't te worden gezien deze informatie schoon uit de database komt
	$user = mysqli_fetch_assoc($userQuery);
	// Haal de gegevens uit de database als een associative array
}


?>


<!DOCTYPE html>
<html>
<head>
<style>
table, th, td {
    border: 1px solid black;
    border-collapse: collapse;
}
th, td {
    padding: 5px;
}
</style>
</head>
<body>

<table style="width:60%">
  <tr>
    <th>Roepnaam</th>
    <th>Naam</th>
    <th>Bedrijf</th>
    <th>Telefoon</th>
    <th>Email</th>
    <th>Straatnaam 1</th>
    <th>Straatnaam 2</th>
    <th>Postcode</th>
    <th>Stad</th>
    <th>Provincie</th>
  </tr>
  <tr>
    <td><?php echo $user['roepnaam']; ?></td>
    <td><?php echo $user['naam']; ?></td>
    <td><?php echo $user['bedrijf']; ?></td>
  </tr>

</table>

</body>
</html>


Ik kom alleen nu niet verder want stel ik wil een 2e contact invoegen dan moet ik weer allemaal TD's maken om deze informatie in te weergeven. Hoe kan dit korter?
Als er meerdere resultaten terugkomen kan je een foreach loop gebruiken.

<tr>
    <td><?php echo $user['roepnaam']; ?></td>
    <td><?php echo $user['naam']; ?></td>
    <td><?php echo $user['bedrijf']; ?></td>
  </tr>


wordt dan:

<?php foreach($users as $user): ?>

<tr>
    <td><?php echo $user['roepnaam']; ?></td>
    <td><?php echo $user['naam']; ?></td>
    <td><?php echo $user['bedrijf']; ?></td>
  </tr>

<?php endforeach; ?>


Het resultaat van de query moet je dan wel hernoemen naar users ipv user.
Dus dit komt op de plek te staan waar nu mijn

 <tr>
    <td><?php echo $user['roepnaam']; ?></td>
    <td><?php echo $user['naam']; ?></td>
    <td><?php echo $user['bedrijf']; ?></td>
  </tr> 


staat?
Correct, en dit:
<?php
$userQuery = mysqli_query($conn, "SELECT roepnaam, telefoon, naam, bedrijf, stad, straat1, straat2, provincie, postcode, email FROM address");
    // $userid is een integer (getal), en deze zet je in SQL niet tussen quotes.
    // Tevens hoeft dit niet geHEX't te worden gezien deze informatie schoon uit de database komt
    $user = mysqli_fetch_assoc($userQuery);
    // Haal de gegevens uit de database als een associative array
?>


wordt dan:


<?php
$userQuery = mysqli_query($conn, "SELECT roepnaam, telefoon, naam, bedrijf, stad, straat1, straat2, provincie, postcode, email FROM address");
    // $userid is een integer (getal), en deze zet je in SQL niet tussen quotes.
    // Tevens hoeft dit niet geHEX't te worden gezien deze informatie schoon uit de database komt
    $users = array();
    while($row = mysqli_fetch_assoc($userQuery))
    {
	$users [] = $row;
    }
    // Haal de gegevens uit de database als een associative array
?>
Ik snap het bedankt!. Stel ik wil nu een add button maken om contacten toe te voegen hoe doe ik dit dan in combinatie met PHP. (INSERT).
Als je alleen de query bedoelt is hier een pagina met voorbeelden.

<?php
if (!isset($_SESSION)) { session_start(); }




include "connect.php";

$error = "";

$userQuery = mysqli_query($conn, "SELECT username FROM users");

$user = mysqli_fetch_assoc($userQuery);

if (isset($_POST['add_contact'])) {
    $roepnaam = $_POST['roepnaam'];
    $naam = $_POST['naam'];
    $land = $_POST['land'];
    $straat1 = $_POST['straat1'];
    $straat2 = $_POST['straat2'];
    $stad = $_POST['stad'];
    $postcode = $_POST['postcode'];
    $provincie = $_POST['provincie'];
    $telefoon = $_POST['telefoon'];
    $email = $_POST['email'];
		$captcha=	$_POST['g-recaptcha-response'];

    if(!$captcha){
            $error = "Er is een fout opgetreden";

          }

          $secure_roepnaam = bin2hex(htmlspecialchars($roepnaam));
          $secure_naam = bin2hex(htmlspecialchars($naam));
          $secure_land = bin2hex(htmlspecialchars($land));
          $secure_straat1 = bin2hex(htmlspecialchars($adres1));
          $secure_straat2 = bin2hex(htmlspecialchars($straat2));
          $secure_stad = bin2hex(htmlspecialchars($stad));
          $secure_postcode = bin2hex(htmlspecialchars($postcode));
          $secure_provincie = bin2hex(htmlspecialchars($provincie));
          $secure_telefoon = bin2hex(htmlspecialchars($telefoon));
          $secure_email = bin2hex(htmlspecialchars($email));

          if ($error == "") {
        		$insertUser = "INSERT INTO address
        		(roepnaam, naam, land, straat1, straat2, stad, postcode, provincie, telefoon, email)
        		VALUES
        		(UNHEX('$secure_roepnaam'), UNHEX('$secure_naam'), UNHEX('$secure_land'), UNHEX('$secure_straat1'), UNHEX('$secure_straat2'), UNHEX('$secure_stad'), UNHEX('$secure_postcode'), UNHEX('$secure_provincie'), UNHEX('$secure_telefoon'), UNHEX('$secure_email'))";

        		if (mysqli_query($conn, $insertUser)) {
        			$_SESSION['add_contact'] = true;
        			header('location: register_success.php');
        		} else {
        			$error = "Er is een fout opgetreden";
        		}
        	}
          }

 ?>




 <!DOCTYPE html>
 <html lang="en">
   <head>
   <link rel="stylesheet" href="bootstrap/css/bootstrap.min.css" type="text/css">
   <link rel="stylesheet" href="css/stylesheet.css" type="text/css">
   <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
   <script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>
 	<script src='https://www.google.com/recaptcha/api.js'></script>
   <script src="js/java.js"></script>
     <meta charset="utf-8">
     <meta name="viewport" content="width=device-width, initial-scale=1">
     <title>Contact toevoegen</title>
   <style>
   .error {
 	color: darkred;
 	font-weight: bold;
   }
   </style>
   </head>
   <body>
     <nav class="navbar navbar-default">
     <div class="container-fluid">
       <div class="navbar-header">
         <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#myNavbar">
           <span class="icon-bar"></span>
           <span class="icon-bar"></span>
           <span class="icon-bar"></span>
         </button>
         <a class="navbar-brand" href="index.php">SBRM National Bank</a>
       </div>
       <div class="collapse navbar-collapse" id="myNavbar">
         <ul class="nav navbar-nav">
           <li><a href="index.php">Home</a></li>
           <li><a href="#">Particulier</a></li>
           <li><a href="#">Persoonlijk</a></li>
           <li><a href="#">Privé</a></li>
           <li><a href="#">Zakelijk</a></li>

         </ul>
         <ul class="nav navbar-nav navbar-right">
           <li class-"active"><a href="details.php"><span class="glyphicon glyphicon-user"></span>  U bent ingelogd als <?php echo $user['username']; ?></a></li>
           <li><a href="logout.php"><span class="glyphicon glyphicon-log-out"></span> Uitloggen</a></li>
         </ul>
       </div>
     </div>
     </nav>
     <div class="container-fluid hero-slide">
       <div class="row">
     <div id="myCarousel" class="carousel slide " data-ride="carousel">



       <div class="carousel-inner" role="listbox">
         <div class="item active">
           <img src="images/add_contact.jpg" alt="Ad">
     <div class="carousel-caption">
           <h3 class="caption">Contact toevoegen</h3>

         </div>
       </div>
       </div>
     </div>
     </div>
   </div>

 <div class="container padding-top-10">
   <div class="panel col-md-6">
     <div class="panel-heading "><h5>Contact gegevens:</h5></div>
     <div class="panel-body">
       <form action="" method="post">
 	    <?php if ($error !== "") { ?>
 		<div class="row">
           <div class="col-md-12 error">
             <?php echo $error; ?>
           </div>
         </div>
 		<?php } ?>
         <label for="firstName" class="control-label">Naam:</label>
         <div class="row ">
           <div class="col-md-6">
           <input type="text" class="form-control" id="firstName" placeholder="Roepnaam" name="roepnaam" value="<?php if (isset($_POST['roepnaam'])) { echo $_POST['roepnaam']; } ?>" required/>
         </div>
         <div class="col-md-6">
         <input type="text" class="form-control" id="lastName" placeholder="Naam" name="naam" value="<?php if (isset($_POST['naam'])) { echo $_POST['naam']; } ?>" required/>
       </div>
         </div>
 <label for="username" class="control-label">Bedrijf:</label>
         <div class="row ">
           <div class="col-md-12">
             <input type="text" class="form-control" id="username" placeholder="Bedrijf" name="bedrijf" value="<?php if (isset($_POST['bedrijf'])) { echo $_POST['bedrijf']; } ?>" required/>
           </div>
         </div>
         <label for="password" class="control-label">Telefoonnummer:</label>
                 <div class="row ">
                   <div class="col-md-12">
                     <input type="text" class="form-control" id="password" placeholder="Telefoonnummer" name="telefoon" value="<?php if (isset($_POST['telefoon'])) { echo $_POST['telefoon']; } ?>" required/>
                   </div>

                 </div>
                 <label for="email" class="control-label">Email:</label>
                         <div class="row ">
                           <div class="col-md-12">
                             <input type="text" class="form-control" id="email" placeholder="E-mailadres" name="email" value="<?php if (isset($_POST['email'])) { echo $_POST['email']; } ?>" required/>
                           </div>

                         </div>
 <label for="adress1" class="control-label">Adres:</label>
         <div class="row">
           <div class="col-md-12">
           <input type="text" class="form-control" id="adress1" placeholder="Adres 1" name="adres1" value="<?php if (isset($_POST['adres1'])) { echo $_POST['adres1']; } ?>" required/>
         </div>
         </div>
         <div class="row padding-top-10">
           <div class="col-md-12">
           <input type="text" class="form-control" id="adress2" placeholder="Adres 2" name="adres2" value="<?php if (isset($_POST['adres2'])) { echo $_POST['adres2']; } ?>"/>
         </div>
         </div>
         <div class="row">
           <div class="col-md-3">
             <label for="postcode" class="control-label">Postcode:</label>
           </div>
           <div class="col-md-5">
             <label for="city" class="control-label">Stad:</label>
           </div>
           <div class="col-md-4">
             <label for="regio" class="control-label">Regio:</label>
           </div>
         </div>
         <div class="row ">
           <div class="col-md-3">
             <input type="text" class="form-control" id="postcode" placeholder="Postcode" name="postcode" value="<?php if (isset($_POST['postcode'])) { echo $_POST['postcode']; } ?>" required/>
           </div>
           <div class="col-md-5">
             <input type="text" class="form-control" id="city" placeholder="Stad" name="stad" value="<?php if (isset($_POST['stad'])) { echo $_POST['stad']; } ?>" required/>
           </div>
           <div class="col-md-4">
             <input type="text" class="form-control" id="regio" placeholder="Provincie" name="provincie" value="<?php if (isset($_POST['provincie'])) { echo $_POST['provincie']; } ?>" required/>
           </div>
         </div>
         <label for="land" class="control-label">Land:</label>
                 <div class="row ">
                   <div class="col-md-12">
                     <input type="text" class="form-control" id="password" placeholder="Land" name="land" value="<?php if (isset($_POST['land'])) { echo $_POST['land']; } ?>" required/>
                   </div>

                 </div>

 								<div class="row">
 									<div class="col-md-8 padding-top-10 ">
 										<div class="g-recaptcha " data-sitekey="6LcCsBoTAAAAAK72uzyJSrgWwD8xuF6jFIfgFaHX"></div>
 									</div>
 								</div>
         <div class="row">
           <div class="col-md-2 padding-top-10">
             <input type="submit" name="add_contact" class="btn btn-succes" value="Contact toevoegen">
           </div>
         </div>


       </form>
     </div>
 </div>
 </div>
 <footer>
   <div class="container">
     <div class="row">
       <div class="col-sm-3">
         <h6>Copyright &copy; 2016</h6>
         <ul class="list-unstyled">
           <li class="boss">Sander Bakker</li>
           <li class="unstyled">Bob Lansbergen</li>
           <li class="unstyled">Ronald van den Heuvel</li>
           <li class="unstyled">Max Donck</li>
         </ul>
       </div>
       <div class="col-sm-3">
         <h6>Over Ons</h6>
         <p id="pfont">Dit is een website ontworpen om een banksysteem te simuleren met PHP en mySQL</p>
       </div>

       <div class="col-sm-2">
         <h6>Navigatie</h6>
         <ul class="list-unstyled">
           <li class="unstyled"><a href="#">Home</a></li>
           <li class="unstyled"><a href="#">Particulier</a></li>
           <li class="unstyled"><a href="#">Persoonlijk</a></li>
           <li class="unstyled"><a href="#">Privé</a></li>
           <li class="unstyled"><a href="#">Zakelijk</a></li>
         </uL>
       </div>
       <div class="col-sm-2">
         <h6>Contact</h6>
         <ul class="list-unstyled">
           <li class="unstyled"><a href="#">Google +</a></li>
           <li class="unstyled"><a href="#">Facebook</a></li>
           <li class="unstyled"><a href="#">Twitter</a></li>
           <li class="unstyled"><a href="#">YouTube</a></li>
         </uL>
       </div>
     </div>
   </div>
 </footer>
   </body>
   </head>
   </html>


Ik heb nu deze code gemaakt maar iedere keer als ik druk op contact toevoegen wordt ik verwezen naar de Geen toegang pagina vanmezelf (no_acces.php) maar nergens in de code verwijs ik naar die pagina. De waardes in het formulier worden wel doorgevoerd in de database. Hoe kan ik dit oplossen?

[size=xsmall]Toevoeging op 15/03/2016 12:01:04:[/size]

Laat maar heb het al opgelost. Stond een foutje in de code verwees naar register_succes.php en deze kan alleen gebruikt worden onder bepaalde voorwaarden anders krijg je de no_acces.php te zien
Een vraagje tussendoor. Waarom gebruikbje bin2hex () om dit in je INSERT weer ongedaan te maken?
Voor de beveiliging van de data

Reageren