Hij doet wel bijna alles maar op een gegeven moent stopt hij na $sql

<?php
echo"test<br>";
include('./dbase.php');

$user = $_POST['username'];
$passwd = $_POST['password'];
$key = $_POST['key'];

echo "<br><br>Do sql query<br>";
echo $user."<br>";
echo $passwd."<br>";
echo $key."<br><br>";

if (!isset($user) && isset($passwd)) {

echo "Data should be there";

}else{

$sql = "SELECT * FROM AdminUsers WHERE Username = '".$user."' AND Passwd = '".$passwd."' AND LoginKey = '".$key."'";
echo $sql."<br>";


$result = mysqli_query($connect, $sql);

if (mysqli_num_rows($result) > 0) {
echo $result."<br>";
}

$resultCheck = mysqli_num_rows($result);
echo $resultCheck."<br><br>";


if (mysqli_num_rows($result) === 1) {
echo $result."<br>";
echo $resultCheck."<br>";
}else{
echo "No data found";
}
// if($resultCheck > 0){
// $_POST['username'] = $user;
// header('Location: ../index.php');
// //die;
// }
mysqli_close($connect);
}
?>

Als ik de $sql in de database direct uitvoer, krijg ik gewoon de results binnen.
Hij stopt gewoon na $sql en de results laat hij niet eens zien.

Wat doe ik fout?

[size=xsmall]Toevoeging op 01/06/2022 12:22:39:[/size]

Arno van Zanten op 01/06/2022 12:19:29

Hij doet wel bijna alles maar op een gegeven moent stopt hij na $sql

<?php
echo"test<br>";
include('./dbase.php');

$user = $_POST['username'];
$passwd = $_POST['password'];
$key = $_POST['key'];

echo "<br><br>Do sql query<br>";
echo $user."<br>";
echo $passwd."<br>";
echo $key."<br><br>";

if (!isset($user) && isset($passwd)) {

echo "Data should be there";

}else{

$sql = "SELECT * FROM AdminUsers WHERE Username = '".$user."' AND Passwd = '".$passwd."' AND LoginKey = '".$key."'";
echo $sql."<br>";


$result = mysqli_query($connect, $sql);

if (mysqli_num_rows($result) > 0) {
echo $result."<br>";
}

$resultCheck = mysqli_num_rows($result);
echo $resultCheck."<br><br>";


if (mysqli_num_rows($result) === 1) {
echo $result."<br>";
echo $resultCheck."<br>";
}else{
echo "No data found";
}
// if($resultCheck > 0){
// $_POST['username'] = $user;
// header('Location: ../index.php');
// //die;
// }
mysqli_close($connect);
}
?>

Als ik de $sql in de database direct uitvoer, krijg ik gewoon de results binnen.
Hij stopt gewoon na $sql en de results laat hij niet eens zien.

Wat doe ik fout?

URL : http://happy-truffles.com/test/admin/


Maar kan je jouw berichten in dit topic even leesbaar maken? Je bent vermoedelijk een tag vergeten.
dbase.php
<?php
$datahost = hidden;
$datauser = hidden;
$datapass = hidden;
$dataname = hidden;



$connect = mysqli_connect($datahost, $datauser, $datapass, $dataname) or die("Connection Failed");
$db = mysqli_select_db($connect, 'happy_truffles_com_happytruffles');

if($connect)
{
echo "connected";
}else{
echo "Not Connected";
}
?>

footer.php
<?php
// footer.php
echo "
<tr class='footer'>
<td colspan='6'><img src='./img/footer.png'></td>
</tr>";
if(isset($_POST['username'])){
echo"

<tr>
<td colspan=''6><a href='./inc/logout.php'>logout</a></td>
</tr>";
}
</table>
</div>
";
?>
logout.php
<?php
session_start();
unset($_SESSION['username']);
header('Location : ../index.php');
?>

[size=xsmall]Toevoeging op 01/06/2022 13:48:09:[/size]

- Ariën - op 01/06/2022 13:45:05

Maar kan je jouw berichten in dit topic even leesbaar maken? Je bent vermoedelijk een tag vergeten.


Dit zijn de scripts voor de admin panel, maar ik an mijn eigen fout niet vinden.
Heb sommige onderdelen even uitgezet om de logincheck even te onderbreken om te zien welke outputs hij aangeeft, zet ik alles aan, dan blijft hij in de login hangen.
Wat gebeurt er nu precies?
Al je geen error krijgt, dan wordt de data goed opgehaald. Dan rest je enkel nog een sessie aan te maken.

Het loont ook om elke statement te voorzien van een bepaalde tekst, zodat je kan zien welke route je script afloopt.
- Ariën - op 01/06/2022 13:49:04

Wat gebeurt er nu precies?
Al je geen error krijgt, dan wordt de data goed opgehaald. Dan rest je enkel nog een sessie aan te maken.

Het loont ook om elke statement te verduren van een bepaalde tekst, zodat je kan zien welke route je script afloopt.


Tja sessies, daar gaat het al fout, want die houdt hij op een bepaalde manier dus niet vast.
Kan iemand mij daarmee helpen?
Ik ben best bereid als deze zaak uiteindelijk loopt, er een vergoeding tegenover te stellen.
echter is op moment niet mogelijk, maar over alles valt te praten.

Daarom het advies om tijdens de ontwikkeling een tekst in elke statement te laten echo'en. Dan weet je snel waar het fout gaat.
Dat doe ik ook normaal, maar de logincheck en login daar zit ergens een fout, maar ik kan hem niet vinden
het staat wat verborgen, maar $result bevat dus
object(mysqli_result)#2 (5) { ["current_field"]=> int(0) ["field_count"]=> int(6) ["lengths"]=> NULL ["num_rows"]=> int(1) ["type"]=> int(0) }

Dus de query lukt. En je krijgt 1 resultaat terug.

Maar gaat je oorsponkelijke script niet gewoon mis, omdat je probeert de resultset $result naar je scherm te sturen, ipv met fetch-functies uit de resultset je rijen te halen?
Arno van Zanten op 01/06/2022 13:56:56

Dat doe ik ook normaal, maar de logincheck en login daar zit ergens een fout, maar ik kan hem niet vinden


Ik zie wel een hoop gecommentariseerde scripts staan. Die worden niet uitgevoerd.
- Ariën - op 01/06/2022 14:00:35

[quote="Arno van Zanten op 01/06/2022 13:56:56"]
Dat doe ik ook normaal, maar de logincheck en login daar zit ergens een fout, maar ik kan hem niet vinden


Ik zie wel een hoop gecommentariseerde scripts staan. Die worden niet uitgevoerd.

[/quote]
Klopt, ik zou het fijn vinden als iemand voor mij de login.php en logincheck.php zou kunnen maken. gewoon simpel. En zodat hij dus ook een sessie maakt, die wel werkt



[size=xsmall]Toevoeging op 01/06/2022 14:05:31:[/size]

Ben hier al dagen mee bezig en het werkt nog voor geen meter.
Youtube afgezocht, bekeken en alles geprobeerd, maar nog steeds niet het gewenste resultaat.
Ik wordt er echt gek van en de site moet toch echt van de grond komen
De opbouw is niet heel lastig:

- Kijk of het formulier verstuurd is via de POST-methode
- Valideer eerst de velden, en kijk of er een wachtwoord en/of gebruikersnaam ingevuld is.
- Als de validatie gelukt is: Controleer met SELECT-query of username en wachtwoord op te halen zijn
Indien false: Toon error
Anders: ga verder met de uitvoer

- Als de query gelukt is ga je vervolgens met mysqli_num_rows() kijken of er een record wordt gegeven.
Zo ja, en je krijgt een 1 terug: Dan is de gebruiker gevonden, en plaats je de PHP-sessie.
Zo niet, dan geef je een algemene error terug met: Ongeldige username/password.

Vertaal dit eens naar een PHP-script.

En misschien geeft deze SQL Boilerplate ook een beetje een ingeving over de opbouw:
https://github.com/arienclaij/sql-boilerplate

Je kan deze downloaden (of clonen/forken als je dat kan).

Reageren