Id pagina wegschrijven naar directory resultaat query overnemen in pagina
uit een database te plukken middels een mysqli_insert_id &
een bijbehorende uniek genummerde pagina te creeeren in een
directory (Unix) onder de volgende categorien; aanmaak,info
& spel met als extensie html, php of phtml.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<?php
sesion_start();
include("connexion.php");
//formuliervelden checken
//Bestaat de naam al check op een boolean via mysql_num_rows
//zoja overnieuw, zonee ga door voor de koelkast.
//variabelen directory, paginanaam en extensies vaststellen
$dest = "/var/www/localhost/pages/";
$pgna = "aanmaak";
$pgni = "info";
$pgns = "spel";
$exth = ".html";
$extp = ".php";
$exph = ".phtml";
if (mysqli_query($con, $sql)) {
$last_id = mysqli_insert_id($con);
} else {
echo "Error:" . $sql . "<br>" . mysqli_error($con);
}
$filename = $dest . $pgni . $last_id . $exth;
$handle = fopen('$filename', 'w')or die('cant open:');
$data = "<!doctype html><html><head><meta charset="utf-8">
<title>Test</title></head><body><h1>Test</h1></body></html>";
fwrite($handle, $data);
fclose($handle);
?>
sesion_start();
include("connexion.php");
//formuliervelden checken
//Bestaat de naam al check op een boolean via mysql_num_rows
//zoja overnieuw, zonee ga door voor de koelkast.
//variabelen directory, paginanaam en extensies vaststellen
$dest = "/var/www/localhost/pages/";
$pgna = "aanmaak";
$pgni = "info";
$pgns = "spel";
$exth = ".html";
$extp = ".php";
$exph = ".phtml";
if (mysqli_query($con, $sql)) {
$last_id = mysqli_insert_id($con);
} else {
echo "Error:" . $sql . "<br>" . mysqli_error($con);
}
$filename = $dest . $pgni . $last_id . $exth;
$handle = fopen('$filename', 'w')or die('cant open:');
$data = "<!doctype html><html><head><meta charset="utf-8">
<title>Test</title></head><body><h1>Test</h1></body></html>";
fwrite($handle, $data);
fclose($handle);
?>
Tot zover werkt het verhaal. Wat wel weer apentietjesgaaf is :)
Nu is mijn vraag of in dit verhaal ook het $last_id als pageid mee
te geven is? Hoe neem je $last_id over in de pagina? Druk je het
er per direct in of via een php echo?
Voorbeeld:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
$data = "<?php $pageid = $last_id;?> //--> kan dit zo?
<!doctype html>
<meta charset="utf-8">
<html>
<head>
//hier het css verhaal
<title>Test</title>
//daar het js verhaal
</head>
<body>
//hier een hoop gedoe
</body>
</html>";
?>
<!doctype html>
<meta charset="utf-8">
<html>
<head>
//hier het css verhaal
<title>Test</title>
//daar het js verhaal
</head>
<body>
//hier een hoop gedoe
</body>
</html>";
?>
Mijn ideeenbus is namelijk leeg, heb hier al een 14 uur mee
aan het knutselen geweest & zie het niet meer..
Je zet nu de inhoud van de ene variabele over in een andere variabele, meer niet.
En als je vervolgens een zoekmachine vriendelijke URL creëert middels een RewriteRule?
/article/<id>/<titel> die vervolgens intern wordt doorgestuurd naar article.php?id=<id>
?
Dan kun je die artikels ook nog eens een stuk makkelijker bijwerken en heb je niet zoveel losse bestanden.
Nu moet ik toch denken, hoe neem ik de eerder aangemaakte variabele over tijdens een fwrite?
Huhm, eerst eens verder denken.....
Toevoeging op 07/02/2016 17:36:58:
@Thomas van den Heuvel
Het idee er achter is oke, zal het eens verder uitzoeken.
Er staat nog niets vast, heb wel een idee welke kant het op moet gaan, gaanderweg kom je op het eerdere geschreven aan code uit.
Heb weer een oud project uit de kast gehaald, afgestoft & nieuw leven ingeblazen c.q een upgrade naar html5, css3
& jquery-1.11.4.min.js
Dit omdat met een browserversie of 4 de Oracle java virtualmachine niet meer ondersteunt wordt.
Er verdwijnt dan een hoop & dat zou, vind ik, eeuwig zonde zijn.
Gewijzigd op 07/02/2016 16:55:35 door Yoop Overmaat
te maken of uit de database te halen. De beginpagina is phtml omdat het net iets lekkerder
loopt;
Code (php)
1
<a href="/php/speler.php?q=<?php echo $_SESSION['id'];?>"><input type="button" value="knopje"></a>
Heb er het volgende php-verhaal bij verzonnen;
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
<?php
session_start();
include("connect.php");
$vaag = mysqli_real_escape_string($link, $_REQUEST['q']);
$peler2 = $_SESSION['nickname']; //bij inloggen in een sessie gezet
$sql = "UPDATE spelers SET speler2 = '$speler2' WHERE id = '$vaag'";
if(mysqli_query($link, $sql)){
header("location:wacht2.phtml?q=$vaag"); //id meegeven aan de volgende pagina
} else {
echo "Meuh2 mislukt" . mysqli_error($link);
}
mysqli_close($link);
?>
session_start();
include("connect.php");
$vaag = mysqli_real_escape_string($link, $_REQUEST['q']);
$peler2 = $_SESSION['nickname']; //bij inloggen in een sessie gezet
$sql = "UPDATE spelers SET speler2 = '$speler2' WHERE id = '$vaag'";
if(mysqli_query($link, $sql)){
header("location:wacht2.phtml?q=$vaag"); //id meegeven aan de volgende pagina
} else {
echo "Meuh2 mislukt" . mysqli_error($link);
}
mysqli_close($link);
?>
In de volgende pagina kun je $vaag weer opvragen & er een hoop leuks aan html en php omheen
bouwen.
Als dit een onderdeel van je website is wat alleen voor een ingelogd/geauthenticeerd persoon is ($_SESSION['id']) dan hoef je deze informatie niet door te geven via de URL. Of in het algemeen, als je deze informatie al via je sessie propageert hoeft dat niet nogmaals via de URL.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<table id="lijst">
<tr>
<th id="la">speler</th>
</tr>
<?php
include("connex.php");
$query = "SELECT * FROM spelers WHERE room='free1'";
if($result = mysqli_query($link, $query)) {
while($row = mysqli_fetch_assoc($result)) {
echo '<tr><td id="la">';
echo '<a href="speler.phtml?q=' . $row['id'] . '">' . "klik" . '</a>';
echo '</td></tr>';
}
mysqli_free_result($result);
}
echo '</table>';
mysqli_close($link);
?>
<tr>
<th id="la">speler</th>
</tr>
<?php
include("connex.php");
$query = "SELECT * FROM spelers WHERE room='free1'";
if($result = mysqli_query($link, $query)) {
while($row = mysqli_fetch_assoc($result)) {
echo '<tr><td id="la">';
echo '<a href="speler.phtml?q=' . $row['id'] . '">' . "klik" . '</a>';
echo '</td></tr>';
}
mysqli_free_result($result);
}
echo '</table>';
mysqli_close($link);
?>
Gewijzigd op 26/02/2016 13:31:23 door Yoop Overmaat