Id pagina wegschrijven naar directory resultaat query overnemen in pagina

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Yoop Overmaat

Yoop Overmaat

07/02/2016 15:55:06
Quote Anchor link
Het idee is om bij aanmaak van een naam het bijbehorende id
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)
PHP script in nieuw venster Selecteer het PHP script
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
<?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);
?>


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)
PHP script in nieuw venster Selecteer het PHP script
1
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>";
?>



Mijn ideeenbus is namelijk leeg, heb hier al een 14 uur mee
aan het knutselen geweest & zie het niet meer..
 
PHP hulp

PHP hulp

05/11/2024 15:56:58
 
- SanThe -

- SanThe -

07/02/2016 16:15:28
Quote Anchor link
Je zet nu de inhoud van de ene variabele over in een andere variabele, meer niet.
 
Thomas van den Heuvel

Thomas van den Heuvel

07/02/2016 16:18:01
Quote Anchor link
En als je je artikeltjes nu eens in een database stopt (alleen de inhoud dan he), en deze uitpoept via een script article.php?id=41 die een HTML document genereert met de artikel-tekst?

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.
 
Yoop Overmaat

Yoop Overmaat

07/02/2016 16:54:01
Quote Anchor link
@SanThe Dat klopt, het is ook de bedoeling dat de variabele overgenomen wordt in de aangemaakte pagina, je kunt er mee goochelen tot in de pruimentijd maar er veranderd niets aan het gegeven.
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
 
Yoop Overmaat

Yoop Overmaat

26/02/2016 04:02:18
Quote Anchor link
Heb de oplossing voor het probleem gevonden zonder mod_rewrite of verschillende paginas aan
te maken of uit de database te halen. De beginpagina is phtml omdat het net iets lekkerder
loopt;

Code (php)
PHP script in nieuw venster Selecteer het PHP script
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)
PHP script in nieuw venster Selecteer het PHP script
1
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);
?>


In de volgende pagina kun je $vaag weer opvragen & er een hoop leuks aan html en php omheen
bouwen.
 
Thomas van den Heuvel

Thomas van den Heuvel

26/02/2016 11:55:21
Quote Anchor link
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.
 
Yoop Overmaat

Yoop Overmaat

26/02/2016 13:30:09
Quote Anchor link
Sorry! Je hebt gelijk, het link verhaal is niet correct. Dit is het juiste.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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);
?>
Gewijzigd op 26/02/2016 13:31:23 door Yoop Overmaat
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.