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.
<?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?
<?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 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