Waarom kan ik niet includen op de volgende manier?
Admin.php:

$id = $row['id'];
$var = include('display_image.php?id=3');
$result = mysqli_query($conn,$sql) or die ("Error in query: $query. ".mysqli_error($conn));
if (mysqli_num_rows($result) > 0) {  
    echo "<table class='bart' height=100px width=500px>";	
    while($row = mysqli_fetch_array($result))      {
echo "<tr>";
echo $var;


display_image.php:

<?php
 include "conf.php";
 // just so we know it is broken
 error_reporting(E_ALL);
 // some basic sanity checks
 if(isset($_GET['id']) && is_numeric($_GET['id'])) {
     //connect to the db
     $link = mysql_connect("$host", "$user", "$pass")
     or die("Could not connect: " . mysql_error());

     // select our database
     mysql_select_db("$db") or die(mysql_error());

     // get the image from the db
     $sql = "SELECT image FROM test_image WHERE id=" .$_GET['id'] . ";";

     // the result of the query
     $result = mysql_query("$sql") or die("Invalid query: " . mysql_error());

     // set the header for the image
     header("Content-type: image/jpeg");
     echo mysql_result($result, 0);

     // close the db link
     mysql_close($link);
 }
 else {
     echo 'Please use a real id number';
 }
?>


[size=xsmall]Toevoeging op 29/06/2016 12:38:16:[/size]

HIj geeft dan de error:

Warning: include(display_image.php?id=3) [function.include]: failed to open stream: No error in C:\xampp\htdocs\PHProject\admin.php on line 108

Warning: include() [function.include]: Failed opening 'display_image.php?id=3' for inclusion (include_path='.;C:\xampp\php\PEAR') in C:\xampp\htdocs\PHProject\admin.php on line 108
in wijzingen.php heb je output voor je de sessie start. Dat mag niet. Verplaats de inhoud van regel 1 naar onder de start van de sessie.
offtopic: is dit hoe PHP tegenwoordig onderwezen wordt? :/
@Thomas: ik mag echt hopen van niet. Dit is een inconsistente warboel met op willekeurige plaatsen output, en dat is hoe ik me kan herinneren dat het eind jaren '90 vaak werd gedaan. Maar het is niet alleen de PHP waar ik kriebels van krijg. Wat door moet gaan voor javascript is niet veel beter. Ook zie ik een include van een css??? Alsof include gewoon gebruikt wordt "omdat het kan".
Ben van Velzen op 29/06/2016 14:05:48

Ook zie ik een include van een css???

Dankzij bijvoorbeeld AMP HTML is dat wel weer helemaal hip.
Ja, maar niet als een "gewone" included css a la
<?php
include 'style.css';
?>
Niet zoals het in de code staat, althans.
Wow, wat een echooooooooooooooo's.
Het kan met die echo's inderdaad wat efficiënter.
Het projectje is zo goed als afgerond.
het enige waar ik mee zit is het volgende.

"<a href='VoegGebruikerToe.php?id=$id'><button class='zoekButton'>Toevoegen</button></a>";

Laat ik het als html staan, dus zonder de echo.. dan doet de knop het.
De knop deed het ook toen het nog als:

"<a href='admin.php?id=$id'><button class='TerugButton' id='admin' name='admin'>Keer terug naar de Adminpagina</button></a>"


[size=xsmall]Toevoeging op 30/06/2016 19:25:05:[/size]


in php-echo stond
Maar nu ik bovenstaande code (met voegGebruikertoe.php?id....) in php (echo) heb staan, werkt ie ineens niet en lijkt hij de admin-pagina, waar hij op dat moment is, alleen maar te herladen.

Hoe kan dit?
Anyone?

[size=xsmall]Toevoeging op 03/07/2016 15:46:46:[/size]

Al opgelost.
Gebruik als het even kan dubbele " in HTML en enkele ' in PHP.
En zet je PHP-variabelen buiten de strings:


<?php
echo '<a href="admin.php?id=' . $id . '"><button class="TerugButton" id="admin" name="admin">Keer terug naar de Adminpagina</button></a>';
?>


Met een goede editor kom je verder ook een heel eind: die toont verschillende onderdelen in standaardkleuren. Een onderdeel met een afwijkende kleur staat dan meestal op de verkeerde plaats of tussen de verkeerde aanhalingstekens.
Het zou mij logischer lijken dat VoegGebruikerToe.php?id=$id de action van een form is, en je button binnen de form-tags staat met action="submit".

Een hyperlink navigeert naar een pagina.
Een button doet standaard niets, tenzij deze geïnstrueerd wordt door JavaScript code of het type "submit" heeft, in welk geval deze een formulier submit.

Het is onzinnig (zoniet regelrecht fout) om een button en een hyperlink (op deze manier) te combineren.

Vraag je ook eens af waarom je statische plakken HTML aan het echo'en bent. Dit dient geen enkel doel.

Reageren