Makkelijk vraagje denk ik.

Status
Niet open voor verdere reacties.

RonaldGJ

Gebruiker
Lid geworden
28 apr 2007
Berichten
419
Ik ben bezig met een website maken, maar nu stuit ik op een probleempje!
Ik heb een form om je in te loggen. Als je login goed is moeten die invulbalkjes verdwijnen en moet er wat anders komen te staan. Ik wil dit graag in het zelfde .php bestand houden!
Ik heb gezocht en wat gevonden over include(. Dan komt wat ik wil er wel te staan, maar ik wil wat er staat in het midden graag weer weg hebben.

Iemand een idee hoe dit moet?
Alvast hartelijk bedankt:thumb:!

Gr. Ronald!:)
 
index-php:
check of je ingelogd bent en laat aan de hand daarvan zien wat je wilt. Iets van:
PHP:
<?php
if(loggedin)
{
include("gaverder.php");
}else{
include("login.php");
}
?>
login.php linkt door naar index.php om te kijken of er ingelogd is. gaverder.php is de pagina die je wil laten zien als je ingelogd bent.


V.:thumb:

ps. de code slaat nergens op, want if(loggedin) bestaat niet echt, maar check of een cookie/sessie/iets anders waarmee je kan zien dat iemand ingelogd is.
 
Laatst bewerkt:
Ik snap je verhaal, maar het is volgensmij nog niet echt wat ik bedoel!
Ik zal proberen het even duidelijk te maken;)

Ik wil dat als je naar de site [http:/...........nl/admin.php] gaat dat je dan het inlog systeem voor je krijgt. Dat lukt, dus dat is geen probleem.:thumb:
Maar dan wil ik dat als je op de knop Login drukt, dat hij het inlogsysteem weghaald en er wat anders neerzet. Dus de textbalkjes en knoppen van login gaan weg [dat is een form, dus dat form moet weg] en dan moet er een ander form weer neergezet worden. Wat dan wel moet blijven is: [http:/...........nl/admin.php], dus hij moet niet naar een ander .php bestand gaan.

Vast bedankt!;)

Gr. Ronald!:)
 
nou, dan verander je de
PHP:
include(xxx.pp);
naar
PHP:
echo "<form action='admin.php'><input type='text' name='username'></form>"
(of iets dergelijks. echo "echoet" de html dan in de pagina... dus je kan gewoon je login-html achter elkaar plakken en dat echo-en).
 
Laatst bewerkt:
Dan zet hij het er neer, maar kun je ook gemakkelijk weer wat weghalen, dus zeggen dat form moet hij nu niet meer laten zien?

Gr. Ronald!:)
 
ik snap niet precies wat je bedoelt, maar:

als iemand aan het inloggen is, en hij drukt op de knop 'login!' (in je <form></form> echo) dan moet je die button de gebruiker laten sturen naar (voorbeeld) 'parse.php' (ja sorry, maar je zult altijd een extra php-file nodig hebben als je het zeer veilig wilt doen) en die checkt door middel van een database of de login-gegevens goed zijn, zet dan een cookie/sessie oid, en stuurt je dan direct door naar admin.php, die ziet dat je ingelogd bent, en laat dan ipv. de login-echo, de pagina zien.


Wat ook kan, is een $get/$post actie maken, zoiets (noot: helemaal niet zo veilig!):
admin.php:

PHP:
<?php
$username = $_POST['username'];

if ($username == "JEWACHTWOORD")
{
echo "Dit is de admin pagina, waarin ingelogd is :D";
}else{
echo "<FORM action='temp.php' method='POST'>Username: <input type='text' name='username'><BR><input type='submit' value='login'></FORM>";
}
?>

Een simpel voorbeeldje: http://vegras.110mb.com/temp.php
 
Laatst bewerkt:
Oke, werkt opzich wel:thumb:, Bedankt!
Wat ik nu is heb geprobeerd, ik heb gewoon de layout en heb 2 bestanden gemaakt. Ding voor inlog systeem en voor daarna de admin.

Nu heb ik dus dat hij het inlogsysteem include in de gewone admin.php pagina. Nou wil ik heel simpel dat als je inlogt dat hij zeg maar outclude('inlog.php'); doet en op de plaats waar inlog.php stond [nu outcluded], daarna.php neerzet.

Dus zegmaar: Outclude('inlog.php');
Include('daarna.php');

Gr. Ronald!:)

PS. Helaas dat Outclude( niet bestaat :P
 
Laatst bewerkt:
admin.php
PHP:
session_start();

//Gebruikersnaam + wachtwoord
$u_name = "ThaDevil";
$password = "test";

//Kijken of er een form is ingevuld
if(isset($_POST['submit'])) {
  //Waardes kloppen?
  if(($_POST['uname'] == $u_name) && ($_POST['pw'] == $password)) {
    $_SESSION['login'] = 1;
    echo 'Succesvol ingelogd, klik <a href="'. $_SERVER['PHP_SELF'] .'">hier</a> om verder te gaan!';
  }
  //Waardes kloppen niet --> Error
  else {
    $error = 'De gebruikersnaam en/of het wachtwoord zijn incorrect!';
  }
}
//Geen formulier ingevuld
else {
  //Kijken of we ingelogd zijn
  if(isset($_SESSION['login']) && $_SESSION['login'] == 1){
    //Kijken of we uit willen loggen
    if($_GET['p'] == "logout") {
      //Uitloggen
      session_destroy();
      echo '<b>Succesvol uitgelogd!</b>';
    }
    //Het is nog zo gezellig, we blijven nog ingelogd
    else {
      // Hier de boel dat je weer wilt geven wanneer iemand is ingelogd.
      echo 'U bent succesvol ingelogd, klik <a href="?p=logout">hier</a> om uit te loggen';
    }
  }
  //We zijn nog niet ingelogd --> Formulier weergeven.
  else {
    if(isset($error)) {
      echo $error .'<br />';
    }
  echo '
  <form action="'. $_SERVER['PHP_SELF'] .'" method="post">
   Gebruikersnaam:<input type="text" name="uname" /><br />
   Wachtwoord:<input type="password" name="pw" /><br />
    <input type="submit" name="submit" value="Inloggen!" />
  </form>';
}
Even uit de losse pols...

Alles in 1 script is de bedoeling.
 
Hartsikke bedankt, hier heb ik heel wat aan:thumb:!
Hij doet het gewoon wel, maar als ik hem in de site plaats laat hij het perfect zien, maar krijg ik een fout:

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\........\Test2.php:10) in C:\.........\Test2.php on line 26.

Deze snap ik niet helemaal, iemand?
Vast bedankt!;)

Gr. Ronald!:)
 
session_start(); moet je helemaal bovenaan je pagina zetten.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan