PHP tabel werkt niet

Pagina: 1
Acties:

Vraag


Acties:
  • 0 Henk 'm!

  • bruinmarc
  • Registratie: April 2017
  • Laatst online: 16-09-2024
Hallo tweakers,

Ik ben momenteel bezig met een inlogsysteem en ben er al aardig mee ver ik ben nu bij het stuk gekomen dat ik moet kunnen zien wie er allemaal geregistreerd is, Dit doe ik met behulp van een tabel die vanaf mijn database wordt ingeladen, Alleen krijg ik elke keer een fout en weet niet hoe ik dit moet oplossen, Mijn vraag is dan of iemand mij kan helpen met dit probleem.





De code van het tabel.

<table width="100%">
<tr><td><b>ID</b></td><td><b>Naam</b></td><td><b>Email</b></td><td><b>Actief</b></td></tr>
<?php
$query = "SELECT * FROM members ORDER by ID DESC";
$result = mysql_query($query) or die(mysql_error());
while($row = mysql_fetch_array($result))
{
echo("<tr>");
echo("<td>" . $row['id'] . "</a></td>");
echo("<td>" . $row['username'] . "</a></td>");
echo("<td>" . $row['email'] . "</td>");
echo("<td>" . $row['active'] . "</td>");
}
?>
</table>


Marc,

[ Voor 5% gewijzigd door bruinmarc op 04-01-2018 17:18 ]

Beste antwoord (via bruinmarc op 04-01-2018 15:01)


  • Groentjuh
  • Registratie: September 2011
  • Laatst online: 17:15
Dat je nog mysql_* gebruikt is 1 ding dat je fout doet (gebruik PDO of mysqli!). HTML injections mogelijk maken is een ander ding.
Het gene dat jou waarschijnlijk echt kan boeien is waarom het niet werkt. Het werkt waarschijnlijk niet omdat je geen verbinding maakt met je database.

[ Voor 19% gewijzigd door Groentjuh op 04-01-2018 14:47 ]

Alle reacties


Acties:
  • Beste antwoord
  • +3 Henk 'm!

  • Groentjuh
  • Registratie: September 2011
  • Laatst online: 17:15
Dat je nog mysql_* gebruikt is 1 ding dat je fout doet (gebruik PDO of mysqli!). HTML injections mogelijk maken is een ander ding.
Het gene dat jou waarschijnlijk echt kan boeien is waarom het niet werkt. Het werkt waarschijnlijk niet omdat je geen verbinding maakt met je database.

[ Voor 19% gewijzigd door Groentjuh op 04-01-2018 14:47 ]


Acties:
  • +1 Henk 'm!

  • stijn1309
  • Registratie: December 2007
  • Laatst online: 21:18
Ik dacht dat het tegenwoordig beter is om mysqli te gebruiken voor php en hoe je dan verbinding maakt:
https://www.w3schools.com/php/func_mysqli_connect.asp

Acties:
  • 0 Henk 'm!

  • bruinmarc
  • Registratie: April 2017
  • Laatst online: 16-09-2024
Bedankt voor je reactie,

Ik heb dit gekopieerd van een voorgaande project toen werkte het wel, Vandaar dat ik hier vroeg waarom het niet werkt, Ik zou eens kijken naar mysqli als ik hier niet uit kom kom ik er op terug.

Marc,

Acties:
  • 0 Henk 'm!

  • mcDavid
  • Registratie: April 2008
  • Laatst online: 02-10 08:45
Dan heb je:
A) een héél oud project gepakt want mysql_ functies zijn echt al jaren deprecated
en B ) ben je vergeten de code mee te kopiëren waar de database-verbinding gemaakt wordt.

Acties:
  • 0 Henk 'm!

  • bruinmarc
  • Registratie: April 2017
  • Laatst online: 16-09-2024
Bedankt voor je reactie,

Nee ik ben de database verbinden code niet vergeten deze zit bij mijn projecten altijd in een config file, Ik haal het dan op met een include, Zo hoef ik dan niet per pagina de database wachtwoorden in te gaan lopen vullen, Ik vind dit naar mijn mening altijd goed werken, Alleen werkt het op een of andere manier nu niet :-(

Marc,

Acties:
  • 0 Henk 'm!

  • stijn1309
  • Registratie: December 2007
  • Laatst online: 21:18
Hoe include je die config.php pagina?
Doe dit met require in plaats van include, zodat je zeker weet dat de config.php file gevonden en gelezen kan worden door je script. Kan hij hem niet vinden, dan geeft hij daar al netjes een foutmelding op.

Acties:
  • 0 Henk 'm!

  • BLACKfm
  • Registratie: Maart 2004
  • Laatst online: 16:25

BLACKfm

o_O

Als je 'aardig ver' bent ga ik er van uit dat je ook al dingen in of uit die database hebt gehaald? Of is dit tot op heden het punt waar je op vast loopt? Want anders is er wel wat mis met de connectie (mogelijk verkeerde username/pass ?).

Dat de huidige fomulering overigens deprecated kan best, maar mogelijk gebruikt de TS ook nog een oud PHP pakket :P. Maar oud met nieuws gaat niet zo best samen, dus kijk dat dan wel even na.

Litebit.eu voorraad check :).


Acties:
  • +1 Henk 'm!

  • bruinmarc
  • Registratie: April 2017
  • Laatst online: 16-09-2024
Bedankt voor je reactie,

Ik heb dit alle 2 al geprobeerd en het werkt niet ik zal even een paar codes hier achter laten zodat jullie een idee krijgen hoe het in elkaar zit.




Code verwijderd...




De config file is niet alleen voor de tables maar ook voor het inlog systeem vandaar dat er ook veel andere codes staan die er niet veel mee te maken hebben.

Marc,

[ Voor 69% gewijzigd door bruinmarc op 09-01-2018 17:55 ]


Acties:
  • 0 Henk 'm!

  • bruinmarc
  • Registratie: April 2017
  • Laatst online: 16-09-2024
Bedankt voor je reactie,

BLACKfm ik kan al inloggen de database praat al met de site zelf, Alleen als ik iets toevoeg aan de pagina zoals een table of een form dat je informatie kan toevoegen wil dat script niet verbinden en krijg je een fout dat je geen password gebruikt. Erg vaag als je het mij vraagt.

Marc,

Acties:
  • 0 Henk 'm!

  • supergert
  • Registratie: December 2001
  • Niet online
Ehmm... in de config.php gebruik je PDO om met de database te verbinden, maar in je tabel gebuik je mysql_query() ? Gebruik dan daar ook die $db, dat zal wat beter werken.

ZX81 > C64 > Amiga > BeBox > PowerMac > pc-klonen...


Acties:
  • +1 Henk 'm!

  • Groentjuh
  • Registratie: September 2011
  • Laatst online: 17:15
Je gebruikt in de config PDO.
Je mysql_* functies werkt niet met een databaseverbinding, die je maakt via PDO.

Verander dus die mysql_ code naar iets zoals in deze voorbeelden

[ Voor 28% gewijzigd door Groentjuh op 04-01-2018 15:26 ]


Acties:
  • 0 Henk 'm!

  • bruinmarc
  • Registratie: April 2017
  • Laatst online: 16-09-2024
Bedankt voor jullie reactie,

Ik heb dit erg over het hoofd gezien, Bedankt voor jullie reactie dit lost een hele boel op.

Marc,

Acties:
  • +3 Henk 'm!

  • cedal
  • Registratie: Oktober 2010
  • Laatst online: 29-09 18:49

cedal

Jaja.

Hey Marc, ik zou even heel rap je wachtwoorden e.d. wijzigen. Ze staan nu openlijk op het internet.

Acties:
  • +1 Henk 'm!

  • bertjuuhh
  • Registratie: Maart 2012
  • Laatst online: 06-10 14:51
bruinmarc schreef op donderdag 4 januari 2018 @ 15:17:
Bedankt voor je reactie,

Ik heb dit alle 2 al geprobeerd en het werkt niet ik zal even een paar codes hier achter laten zodat jullie een idee krijgen hoe het in elkaar zit.




De table code:

<table width="100%">
<tr><td><b>ID</b></td><td><b>Naam</b></td><td><b>Email</b></td><td><b>Actief</b></td></tr>
<?php
$query = "SELECT * FROM members ORDER by ID DESC";
$result = mysql_query($query) or die(mysql_error());
while($row = mysql_fetch_array($result))
{
echo("<tr>");
echo("<td>" . $row['id'] . "</a></td>");
echo("<td>" . $row['username'] . "</a></td>");
echo("<td>" . $row['email'] . "</td>");
echo("<td>" . $row['active'] . "</td>");
}
?>
</table>




Code om de verbinden op te halen:

<?php require('includes/config.php');

?>




En de config file:

<?php
ob_start();
session_start();

//set timezone
date_default_timezone_set('Europe/Amsterdam');

//database credentials

try {

//create PDO connection
$db = new PDO("mysql:host=".DBHOST.";charset=utf8mb4;dbname=".DBNAME, DBUSER, DBPASS);
//$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_SILENT);//Suggested to uncomment on production websites
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);//Suggested to comment on production websites
$db->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);

} catch(PDOException $e) {
//show error
echo '<p class="bg-danger">'.$e->getMessage().'</p>';
exit;
}

//include the user class, pass in the database connection
include('classes/user.php');
include('classes/phpmailer/mail.php');
$user = new User($db);
?>




De config file is niet alleen voor de tables maar ook voor het inlog systeem vandaar dat er ook veel andere codes staan die er niet veel mee te maken hebben.

Marc,
Misschien handig om niet gebruikersnamen en wachtwoorden zo op een openbaar forum te gooien.

[ Voor 5% gewijzigd door bertjuuhh op 04-01-2018 15:33 ]


Acties:
  • +3 Henk 'm!

  • Reptile209
  • Registratie: Juni 2001
  • Laatst online: 01:45

Reptile209

- gers -

@bruinmarc ik zou even wat usernames, passwords en emailadressen uit je eerdere post met de configuratie halen... :)

Edit: @bertjuuhh haal jij ze dan ff uit je quote!

[ Voor 18% gewijzigd door Reptile209 op 04-01-2018 15:31 ]

Zo scherp als een voetbal!


Acties:
  • 0 Henk 'm!

  • bruinmarc
  • Registratie: April 2017
  • Laatst online: 16-09-2024
Bedankt iedereen voor jullie reactie,

De wachtwoorden van mijn database zijn al veranderd :) Verder zal ik even kijken tot hoeverre ik dingen uit mijn oude post kan halen om dit weer te laten werken.

Marc,

Edit: Ik heb voor de zekerheid de post even aangepast zodat mijn usernames ook niet te zien zijn, De wachtwoorden worden random gegenereerd dus ik gebruik dat wachtwoord nergens anders.

[ Voor 30% gewijzigd door bruinmarc op 04-01-2018 15:37 ]


Acties:
  • +1 Henk 'm!

  • bertjuuhh
  • Registratie: Maart 2012
  • Laatst online: 06-10 14:51
Reptile209 schreef op donderdag 4 januari 2018 @ 15:30:
@bruinmarc ik zou even wat usernames, passwords en emailadressen uit je eerdere post met de configuratie halen... :)

Edit: @bertjuuhh haal jij ze dan ff uit je quote!
8)7 Domme actie van me..

Acties:
  • +1 Henk 'm!

  • bruinmarc
  • Registratie: April 2017
  • Laatst online: 16-09-2024
Hallo iedereen,

Het is gelukt alles werkt nu ik wil jullie allemaal nog een keer bedanken.

Marc,
Pagina: 1