login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Inlog script en post gedeelte probleem. (Opgelost)

Offline dreamworld - 11/08/2005 22:08 (laatste wijziging 12/08/2005 00:43)
Avatar van dreamworldHTML beginner Ik ben al de hele dag bezig met een Inlog script en een gedeelte om data in een mysql database te stoppen..

De code waar het om gaat:

  1. <?
  2. if($_GET['actie'] == 2){
  3. if($_POST['gebruikersnaam'] == $adminnaam && $_POST['wachtwoord'] == $password){
  4. Setcookie("gebruikersnaam", $_POST['gebruikersnaam']);
  5. Setcookie("wachtwoord",$_POST['wachtwoord']);
  6. echo "Je bent succesvol ingelogd! Je wordt over 2 seconden naar de pagina gestuurd.";
  7. echo "<META HTTP-EQUIV='REFRESH' CONTENT='2; URL=toevoegen.php'>";
  8. }else{
  9. echo "<b>Fout:</b> Er zijn 1 of meer velden niet correct ingevuld.";
  10. }
  11. }else{
  12. if($_COOKIE['gebruikersnaam'] != $adminnaam && $_COOKIE['wachtwoord'] != $password){
  13. echo "<form name='inloggen' action='toevoegen.php?actie=2' method='POST'>
  14. Gebruikersnaam:
  15. <input type='text' name='gebruikersnaam'>
  16. Wachtwoord:
  17. <input type='password' name='wachtwoord'>
  18. <input type='submit' name='verzenden' value='Inloggen!'>
  19. </form>";
  20. ?>
  21.  
  22. <? }
  23. elseif($_GET[actie] == "uitloggen"){
  24. setcookie( "gebruikersnaam" , "" ); setcookie( "wachtwoord" , "" );
  25. echo "Je bent nu uitgelogd, je wordt nu teruggestuurd naar de inlogpagina.";
  26. echo "<META HTTP-EQUIV='REFRESH' CONTENT='2; URL=toevoegen.php'>";
  27. ?>
  28. <?
  29. }else{ ;
  30. ?>
  31. <?
  32. if(isset($_POST['verzenden']))
  33. {
  34. $invoer1 = addslashes($_POST['invoer1']);
  35. $invoer2 = addslashes($_POST['invoer2']);
  36. mysql_query("INSERT INTO blablabla (invoer1, invoer2) VALUES ('$_POST[invoer1]', '$_POST[invoer2]')") or die (mysql_error());
  37. echo 'De gegevens zijn succesvol in de database geplaatst! Je wordt over 2 seconden naar de pagina gestuurd. <META HTTP-EQUIV="REFRESH" CONTENT="2; URL=toevoegen.php">';
  38. }
  39. else
  40. {
  41. ?>
  42. <form action=' <?=$_SERVER['PHP_SELF']?> ' method='POST'>
  43.  
  44. Invoer1:
  45. <input name='blabla' type='text' size='20'>
  46. Invoer2:
  47. <input name='blabla' type='text' size='40'>
  48. <input type='submit' name='verzenden' value='Toevoegen!'>
  49. </form>
  50. <?
  51. }
  52. ?>
  53. <?
  54. die (); } }
  55. ?>


Ik heb onnodige dingen even verwijderd..
Ik kan inloggen en de invoer naar de database gaat ook goed, maar deze pagina word halverwege in een andere pagina "ge-included" en dan vervalt de rest van m`n lay-out. Dat laat ie gewoon weg niet zien.

Nu ben ik geen held in php en/of mysql, maar ik wil het wel leren.
Dus zou ik graag willen weten waar ik de mist in ga en hoe ik het kan oplossen... 

13 antwoorden

Gesponsorde links
Offline cracker - 11/08/2005 23:43
Avatar van cracker Onbekend 1. geldigheid cookies
2. variabelen buiten quotes
3. mysql-verbinding = ?
4. HTML gebruikt dubbele aanhalingstekens. Gebruik het escape-teken \
Offline dreamworld - 12/08/2005 00:36
Avatar van dreamworld HTML beginner 1. die blijven geldig
2 dat moet ik ff uitzoeken, geen idee wat het is, maar dat komt goed..
3. die is aanwezig (heb ik in de code weggelaten, das het probleem niet lijkt me omdat ik gewoon data in de database kan stoppen)
4. is inmiddels aangepast..

Alles werkt gewoon.. kan netjes in en uitloggen, kan data in de database toevoegen, alleen de rest van de layout laat ie niet zien...
Offline Ibrahim - 12/08/2005 00:47
Avatar van Ibrahim PHP expert misschien heb je de layout in een ifelse gezet. Dan kun je pas de layout zien als er iets gebeurt voorbeeld:

  1. <?php
  2. if($_GET['layout'] == '1'){
  3. //laat layout zien
  4. }
  5. else {
  6. //laat layout niet zien
  7. }
  8. ?>

dus moet je de layout buiten de if else statement zetten
Offline dreamworld - 12/08/2005 16:04
Avatar van dreamworld HTML beginner het zit inderdaad in die ifelse gebeuren... heb al vanalles geprobeerd en gewijzigd maar ik kom der nie uit... de ene keer word de layout netjes weer gegeven en mis ik het "post gedeelte" en de andere keer is het precies andersom.. *zucht*
Offline dreamworld - 14/08/2005 21:54
Avatar van dreamworld HTML beginner Het probleem is inmiddels al opgelost 

Maar nu zit ik met een ander probleem. Ik maak gebruik van een pagina script en zodra ik wil inloggen krijg je dit: toevoegen.php?actie=2
Maar dit pikt m`n pagina script dus niet. Het gaat om het volgende script:

  1. <?php
  2. if(!$_GET['pagina'])
  3. $_GET['pagina'] = "main";
  4. if(file_exists($_GET['pagina'].'.php'))
  5. include($_GET['pagina'].'.php');
  6. else
  7. include("main.php");
  8. ?>


Wat moet ik aanpassen om het werkend te krijgen? 
En sorry dat ik in dit topic verder ga.. maar aangezien dit ook een php probleem is..
Offline Ibrahim - 15/08/2005 11:15
Avatar van Ibrahim PHP expert dat komt omdat je actie=2 niet in je script voor komt. In jou script werkt alleen pagina.php?pagina=nogwat
Offline dreamworld - 15/08/2005 17:23
Avatar van dreamworld HTML beginner
Citaat:
dat komt omdat je actie=2 niet in je script voor komt. In jou script werkt alleen pagina.php?pagina=nogwat


Daar zit een logica in, maar hoe maak ik het werkend?
Offline Legolas - 15/08/2005 17:25
Avatar van Legolas Onbekend pagina.php?pagina=toevoegen&actie=2

zo?
Offline dreamworld - 15/08/2005 20:13 (laatste wijziging 15/08/2005 20:33)
Avatar van dreamworld HTML beginner
Citaat:
pagina.php?pagina=toevoegen&actie=2


Dat werkt helaas niet. Ik heb de desbetreffende pagina nu niet in het pagina script opgenomen en dan krijg ik deze link: nieuws/admin/toevoegen.php?actie=2 maar het is dus de bedoeling dat ik de link opneem in het pagina script. Maar hoe? 

EDIT: ik heb nu deze link geprobeerd: ?pagina=nieuws/admin/admin&actie=2

Dan gebeurd er simpelweg niets...
Offline Ibrahim - 16/08/2005 13:47 (laatste wijziging 16/08/2005 13:47)
Avatar van Ibrahim PHP expert
  1. <?php
  2. if($_GET['actie'] == '1'){
  3. //doe actie 1
  4. }
  5. if($_GET['actie'] == '2'){
  6. //doe actie 2
  7. }
  8. ?>
Offline Geerios - 16/08/2005 14:26
Avatar van Geerios Onbekend @siliecom14: Uhh als je dan naar bv deze link gaat: ?actie=1&actie=2 dan krijg je ze alle twee te zien toch?
Kan je het niet beter zo doen:
  1. <?php
  2. if($_GET['actie'] == '1'){
  3. //doe actie 1
  4. } elseif($_GET['actie'] == '2'){
  5. //doe actie 2
  6. }
  7. ?>
Offline dreamworld - 16/08/2005 15:21
Avatar van dreamworld HTML beginner
Citaat:
<?php
if($_GET['actie'] == '1'){
//doe actie 1
}
if($_GET['actie'] == '2'){
//doe actie 2
}
?>


En waar pas ik dit toe..?? 
Offline nemesiskoen - 16/08/2005 15:26
Avatar van nemesiskoen Gouden medaille

PHP expert
Citaat:
Uhh als je dan naar bv deze link gaat: ?actie=1&actie=2 dan krijg je ze alle twee te zien toch?

Denk niet hoor. Dan is $_GET['actie'] gewoon gelijk aan 2
Da's hetzelfde als je zegt.
$var=1;$var=2;
dan is $var gewoon gelijk aan twee.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.246s