Help mijn php script werk niet meer.. snap er niks van met php7

Status
Niet open voor verdere reacties.

nilix2

Nieuwe gebruiker
Lid geworden
5 aug 2018
Berichten
1
Beste iedereen.

Ik hoop dat hier een paar php freaks zijn die mij kunnen helpen.
Ben zelf niet zo ster in php. Maar ons script werkte altijd goed en prima.

Ik beheer een kleine website voor onze fotoclub. Nu is de webhosting in eens over gegaan naar php7.
Hier door werken enkele scripts niet meer ik heb de meeste weer goed gekregen door aan passingen. Maar net de inlog script voor leden werkt niet meer.
Mijn mysql data base is goed daar worden wel gegeven uit opgehaald op een andere test pagina en voor de portfolio's


Na het inloggen komt er gelijk een fout.
Hier door komt er ook een stuk van het scrip in beeld wat normaal niet zou kunnen
Dit zie ik in beeld staan:

Fout: ingevoerd gebruikersnaam klopt niet!</p>";
}else{ //mailadres staat in de database, we gaan verder!
while($record = mysqli_fetch_object($ophalen)){
$password_db = $record->wachtwoord;

}


---------------------------------------
Ik weet niet of het nu wel mag maar hier onder mijn script wat is er fout?

Code:
<?
    session_start();




if ($_POST['submit']=="login")
{
include "log.php";
  
  $gebrnaam ==(strtolower ( $_POST['gebruikersnaam']));
 
   $sql = "SELECT * FROM `leden` WHERE `gebruikersnaam` = '".$_POST['gebruikersnaam']."'";
 
   $ophalen = mysqli_query($con, $sql);
  $aantal = mysqli_num_rows($ophalen); // aantal records met verstuurd emailadres tellen
  
  if($aantal == 0){
            
      echo"<p>Fout: ingevoerd gebruikersnaam  klopt niet!</p>";

    }else{
  
     //mailadres staat in de database, we gaan verder!
  
      while($record = mysqli_fetch_object($ophalen)){
       $password_db = $record->wachtwoord;
  
     }
  
     //password nu vergelijken met ingevoerd password
 
       if($password_db != $_POST['wachtwoord']){
  
        echo"<p>Verkeerd wachtwoord!</p>";
  
      }else{
  
     //email staat in database en password klopt, sessie starten!
 
           while($record = mysqli_fetch_object($ophalen)){  
            $id = $record->id;}
  
          //sessie opstarten
 
              $idlog=(strtolower ($_POST['gebruikersnaam']));

  
         $_SESSION["idlog"]= $idlog;
    
        if ($idlog == "admin"){
 
          echo "<meta http-equiv=REFRESH content=0;url=adm.php?idlog=". $_POST['gebruikersnaam'] . " target=main> ";

                 }
                 else{
             echo "gelukt ";

            $datenu=date("d-m-y");
      
       mysqli_query ($con, "UPDATE leden SET datenu='$datenu' WHERE gebruikersnaam='$idlog'");
  
         echo "<meta http-equiv=REFRESH content=0;url=loginstart.php?idlog=". $_POST['gebruikersnaam'] . " target=main> ";
}
        
      }
    }

}

?>


<head>
<link a href="instel.css"rel="stylesheet"type="text/css" />
</head>
<body class=body>

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
<?php include("top.php");
 ?>



<table align=center width=1100><tr><font color=white size=4 face=calibri>
<td align=center >



<font color=white size=4 face=calibri>



<form method="post" action="login.php">
<table width=300 border=1 cellpadding=3 cellspacing=1 align=center >
<tr>

<td colspan=2>
<font color=white size=4 face=calibri> Login leden fotoclub</td>
</tr><tr>
<td align=right>
<font color=white size=4 face=calibri> Loginnaam:
</td>

<td> <input type=text name=gebruikersnaam> </td></tr><tr>
<td align=right>
<font color=white size=4 face=calibri>&nbsp Wachtwoord:</td
>
<td> <input type=password name=wachtwoord></td></tr><tr>

<td colspan=2 align=center><br> <input type="submit" name="submit" value="login">
</td></tr></table>
</form>

<br><BR>
Ik weet mijn login gegevens niet meer? <a href=vergeten.php target=home>Klik hier</a>
</td>
 
Laatst bewerkt door een moderator:
Gebruik expliciet alleen <?php als begintag en NOOIT <?

Verder is je script gevoelig voor SQL-Injectie en ben je eenvoudig hackbaar. Gebruik mysqli_real_escape_string() bij je invoer in je query.

En sla je wachtwoorden gehased op met password_hash() , waarbij je ze vergelijkt met password_verify().

Nog een tip: meld nooit of een gebruikersnaam of een wachtwoord dit is. Anders maak je het mensen die een account willen kapen het wel erg gemakkelijk. Meld gewoon dat "het inloggen mislukt is"
 
Laatst bewerkt:
dus ik heb het even bekeken en heb ongeveer de zelfde bemerkingen

Bijkomende bemerkingen zijn dat de html niet juist zit
meta ... komt voor head te staan
PHP:
<?php
session_start();
if($_POST['submit']=='login'){
include 'log.php';
  $gebrnaam ==(strtolower($_POST['gebruikersnaam']));
  $sql = "SELECT * FROM `leden` WHERE `gebruikersnaam` = '".$_POST['gebruikersnaam']."'";
  $ophalen = mysqli_query($con, $sql);
  $aantal = mysqli_num_rows($ophalen); // aantal records met verstuurd emailadres tellen
  if($aantal == 0){
        echo'<p>Fout: ingevoerd gebruikersnaam  klopt niet!</p>';
    }else{//mailadres staat in de database, we gaan verder!
        while($record = mysqli_fetch_object($ophalen)){
            $password_db = $record->wachtwoord;
        }
    //password nu vergelijken met ingevoerd password
    if($password_db != $_POST['wachtwoord']){
        echo'<p>Verkeerd wachtwoord!</p>';
    }else{
     //email staat in database en password klopt, sessie starten!
        while($record = mysqli_fetch_object($ophalen)){  
            $id = $record->id;
        }
        //sessie opstarten
        $idlog=(strtolower ($_POST['gebruikersnaam']));
        $_SESSION['idlog']= $idlog;
        if ($idlog == 'admin'){
            echo '<meta http-equiv=REFRESH content=0;url=adm.php?idlog='. $_POST['gebruikersnaam'] . ' target=main>';
        }else{
            echo 'gelukt ';
            $datenu=date('d-m-y');
            mysqli_query($con, "UPDATE leden SET datenu='$datenu' WHERE gebruikersnaam='$idlog'");
            echo '<meta http-equiv=REFRESH content=0;url=loginstart.php?idlog='. $_POST['gebruikersnaam'] . " target=main> ";
        }
      }
    }
}
?>
<head>
    <link a href="instel.css"rel="stylesheet"type="text/css" />
</head>
<body class=body>
    Code (php)
    PHP script in nieuw venster Selecteer het PHP script
    1
    2
    <?php include("top.php");
    ?>
    <table align=center width=1100>
        <tr><font color=white size=4 face=calibri>
        <td align=center >
            <font color=white size=4 face=calibri>
    <form method="post" action="login.php">
    <table width=300 border=1 cellpadding=3 cellspacing=1 align=center >
        <tr><td colspan=2><font color=white size=4 face=calibri> Login leden fotoclub</td>
        </tr><tr>
            <td align=right><font color=white size=4 face=calibri> Loginnaam:</td>
            <td><input type=text name=gebruikersnaam> </td>
        </tr><tr>
            <td align=right><font color=white size=4 face=calibri>&nbsp Wachtwoord:</td>
            <td><input type=password name=wachtwoord></td>
        </tr><tr>
            <td colspan=2 align=center><br> <input type="submit" name="submit" value="login">
            </td>
        </tr>
    </table>
    </form>
<br><br>
Ik weet mijn login gegevens niet meer? 
<a href=vergeten.php target=home>Klik hier</a>
</td>

verder kan je zien dat de tabel niet goed in elkaar en probeer naar css te gaan voor layout.
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan