Gegevens uit database halen

Status
Niet open voor verdere reacties.

GooGooJansen

Gebruiker
Lid geworden
16 jul 2006
Berichten
513
Hallo,

Ik had een php inlogsysteem gevonden. Nu wil ik de ingevoerde gegevens eruit halen. Dit moet dus uit de database komen. Ik had ergens een script gevonden van Tha_Devil maar nadat ik het veranderd had werkte het niet. De gegevens uit de database moeten bij de gebruiker horen. Ik heb dit:

PHP:
<?
include("beveiliging-n.php");
?>
<?php
$server = "localhost";
$user = "";
$password = "";
$database = "";

$connection = mysql_connect($server, $user, $password) or die("Error: Geen verbinding met de server");
mysql_select_db($database);

$tekstQuery = "SELECT web FROM inlogsysteem
}

mysql_close($connection);
?>

Wat is er fout?
 
Laatst bewerkt:
Als je de kleurtjes van bovenstaand bericht al volgt zit er aan het eind een fout

PHP:
$tekstQuery = "SELECT web FROM inlogsysteem
}

mysql_close($connection);
?>

moet in ieder geval het volgende zijn...

PHP:
$tekstQuery = "SELECT web FROM inlogsysteem";

mysql_close($connection);
?>

Verder hoef je bovenin niet je php te sluiten en vervolgens meer te openen (of je moet er HTML tussen hebben die je nu voor het gemak hebt weggeknipt =)
 
Nee, zit geen HTML tussen, ik wil dit eerst even werkend hebben :p daarna komt de html.
 
als je gegevens van een gebruiker wilt hebben zal je in je mysql query ook nog een WHERE moeten plaatsen waaraan de gegevens moeten voldoen.
 
Ik heb een andere pagina van het systeem gepakt, deze heb ik veranderd en nu geeft die keurig aan wat het moet zijn. Alleen moet ik de tekst eromheen nog veranderen. Zou dit misschien werken?
PHP:
<?
    include("beveiliging-m.php");
?>
        <?
            $query = mysql_query("SELECT * FROM `inlogsysteem`");

            while($rij = mysql_fetch_assoc($query))
            {
                echo "
                <tr>
                    <td>".ucfirst($rij['web'])."</td>
                    <td>";
                echo "</td>
                </tr>
                ";
            }
        ?>
    	<?
	echo "Klik <a href=\"javascript:history.back(-1)\">hier</a> om terug te gaan";
	?>

Staan hier nog overbodige dingen in?

Edit: dit werkt
 
Laatst bewerkt:
De dubbele echo binnen de WHILE is een beetje onnodig. Daarnaast heb je bij de 2e <td> niets ingevuld. Die zal dus niet worden weergegeven wanneer je het uitvoert. De e.v.t. stijl dus ook niet.

Ook de PHP-tags zijn onnozel, je sluit ze af om ze vervolgens weer te openen :(

De query kun je ook beperken tot alleen het ophalen van het veld web aangezien je daar alleen maar iets mee doet.

Dit lijkt mij al wat beter
PHP:
<?php
//Beveiliging instellingen ophalen
include("beveiliging-m.php");

$query = mysql_query("SELECT web FROM `inlogsysteem`");
while($rij = mysql_fetch_assoc($query)) {
  echo '
  <tr>
   <td>'. ucfirst($rij['web']) .'</td>
   <td>&nbsp;</td>
  </tr>';
}
echo 'Klik <a href="javascript:history.back(-1)">hier</a> om terug te gaan';
?>
 
Bedankt het werkt. Maar nu kom ik erachter dat het niet zo is zoals ik het wilde. Waarschijnlijk mijn fout maar oke. Ik wilde dat het uit de database gehaald wordt. Dit werkt goed. Maar het is per gebruiker verschillend. Nu heb ik pas 1 gebruiker helemaal geconfigureerd, maar met de tweede gebruiker zegt het script hetzelfde. Dit zou anders moeten zijn :confused:
 
Dit script haalt alle records op uit de database en geeft daarvan de waarde van het veld "web"

Is dit bij het 2e record hetzelfde dan zul je die dus ook 2x aantreffen.
 
En moet je ipv dat * dan iets als $gebruikersnaam neerzetten zodat die het goede pakt?
 
Ohw je wilt het van 1 specifieke gebruiker uit de database halen?

Dan zul je de query aan moeten vullen met WHERE gebruikersnaam* =
* waarbij "gebruikersnaam" correspondeerd met jouw veld

PHP:
<?php 
//Beveiliging instellingen ophalen 
include("beveiliging-m.php"); 

$gebruiker = "Tha Devil";

$query = mysql_query("SELECT web FROM inlogsysteem WHERE gebruikersnaam = $gebruiker"); 
while($rij = mysql_fetch_assoc($query)) { 
  echo ' 
  <tr> 
   <td>'. ucfirst($rij['web']) .'</td> 
   <td>&nbsp;</td> 
  </tr>'; 
} 
echo 'Klik <a href="javascript:history.back(-1)">hier</a> om terug te gaan';
?>
 
Persoonlijk zou ik het met een $_GET['id'] doen. Dan zoek je gewoon de gegevens van de gebruiker die die id heeft.

Zo zal hij er dan uit komen te zien:
PHP:
<?php 
//Beveiliging instellingen ophalen 
include("beveiliging-m.php"); 
?>
<html>
<head>
 <title>...</title>
</head>
<body>
<table>

<?php
//Gegevens ophalen
if(isset($_GET['id'])) {
  $userQuery = "SELECT web FROM inlogsysteem WHERE id='". $_GET['id'] ."'";
  $userResult = mysql_query($userQuery) or die(mysql_error());
  while($userRow = mysql_fetch_array($userResult)) {
    echo '
    <tr> 
     <td>'. ucfirst($rij['web']) .'</td> 
     <td>&nbsp;</td> 
    </tr>'; 
  }
} else {
  echo '
  <tr>
   <td colspan="2">Geen resultaten</td>
  </tr>';
}
?>
</table>
Klik <a href="javascript:history.back(-1)">hier</a> om terug te gaan.
</body>
</html>

Vervolgens de pagina aanroepen met pagina.php?id=1.

Hierbij moet je wel een veld id hebben in je database.
 
Laatst bewerkt:
Overigens is dat niet echt waterdicht, want ik (als kwaadwillend gebruiker) kan dan elk willekeurig getal invullen en lezen wat het resultaat is.

Het hangt er natuurlijk wel vanaf wat voor soort resultaat het is, wat je ermee wil doen en hoe privacy-gevoelig het is :) (bijvoorbeeld een wachtwoord?).
 
Wat ajt meer bedoelt is de toegang tot deze pagina.

Ik neem aan dat je niet wilt dat jan-en-alle-man van al je gebruikers het pakketnummer (web?) kan opvragen.
 
Nee :p Maar ik heb gister iemand 'gevonden' op internet, hij helpt mij nu. Als ik of hij iets niet snapt dan zeg ik het wel :)

Ik zal ook het resultaat plaatsen ;)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan