Een vraag over inloggen.
Pagina: « vorige 1 2 3 volgende »
Zeker handig in zulke situaties.
- Ariën - op 22/02/2018 14:56:55:
Hopelijk begrijp je nu/straks hoe de exceptions werken.
Zeker handig in zulke situaties.
Zeker handig in zulke situaties.
Bedankt!
De link is zeer informatief. Ben er nog een beetje mee aan het knutselen maar ik begrijp het wel.
Ik ben ook begonnen aan een registratie formuliertje. die identiek is aan de ingame registratie(voorheen registreerde gebruikers in de game zelf).
Nu vraag ik me af hoe ik kan detecten welke radio input de gebruiker geselecteerd heeft.
Code (php)
1
2
3
2
3
<label for="RCGENDER"><b><font size="4">(<font color="#FF0000"> * </font>)</font> Characters Gender</b></label><br>
<input type="radio" name="RCGENDER" value="Male" checked> Male<br>
<input type="radio" name="RCGENDER" value="Female"> Female<br>
<input type="radio" name="RCGENDER" value="Male" checked> Male<br>
<input type="radio" name="RCGENDER" value="Female"> Female<br>
Ik vermoed dat het zoiets zal zijn als
Maar hoe haal je de value dan op?
Gewijzigd op 22/02/2018 19:57:41 door Jasper Schellekens
Let er wel op dat je in geval van SQL-queries deze variabele moet escapen tegen SQL-injection. En dat je bij het tonen van de gegevens netjes htmlspecialchars om deze variabele gebruikt om de HTML onschadelijk te maken om je tegen XSS te beschermen.
Overigens, wat voor boek of editor gebruik je dat je nog met oude <font> tags werkt?
Met CSS ben je veel flexibeler om de layout te beheren. Vergeet liever dus die font-tags!
Gewijzigd op 22/02/2018 20:03:23 door - Ariën -
qua css ben ik zowiezo echt een noob en daarom gebruik ik een mooie template die gemaakt is door iemand anders.
Ik ben bekend met de sql injectie inderdaad.
Als ik je goed begrijp zal hij dan als je Male selecteerd, in de echo 'male' printen toch?
Is er dan een manier om er 1 of 2 van te maken?
Want ingame wordt dit voor geslacht gebruikt:
1 = male 2 =female
Gewijzigd op 22/02/2018 20:09:41 door Jasper Schellekens
Verder kan je uiteraard ook een 1 of een 2 in de value zetten.
Dit bijvoorbeeld? dat zou dan 1 posten?
En ik zal er eens naar kijken naar span.
Bedankt voor de tips
Gewijzigd op 22/02/2018 20:25:33 door Jasper Schellekens
Over je escaping: Dat klopt, als de functie precies doet wat je wilt, tenminste. Maar ik raad aan geen variabelen te kopiëren. het is onnodig, en uiteindelijk raak je het overzicht kwijt wat je al aan variabelen bewerkt hebt, met mogelijk veiligheidslekken tot gevolg. Je wilt je applicatie die je bouwt uiteraard zo leesbaar mogelijk houden zonder teveel fratsen.
Gewijzigd op 22/02/2018 20:28:59 door - Ariën -
- Ariën - op 22/02/2018 20:25:11:
Dat is het, maar ik zou niet standaard voor iemand zomaar bepalen dat diegene een man is door checked aan te zetten. Misschien is het ook handig om rekening te houden met genderneutraliteit als je toch al gender aan het nummeren bent.
Hebben we over nagedacht alleen zijn er alleen echt typisch mannelijk of vrouwelijke characters. gender neutraal word wel geimplenteerd in de toekomst.
Wat betreft die checkbox niet op checked zetten is een goed idee.
Toevoeging op 22/02/2018 21:20:46:
Hoe kan ik checken of een value Firstname_Lastname is?
Gewijzigd op 22/02/2018 21:21:03 door Jasper Schellekens
Ik snap het laatste niet zo. Je wilt toch niet letterlijk op "Firstname_Lastname" controleren?
Als dat een placeholder is om in een formulier aan te geven wat voor voorbeelddata er verwacht wordt, dan zou ik liever het placeholder="" attribuut in je formulier-element gebruiken.
voor achternaam
john doe
moet dan John_Doe zijn.
Dit is hoe de usernames in het spel ook in de database ingevoerd worden.
Ik bedoel dan eigenlijk hoe ik kan checken of er een _ is gebruikt
Gewijzigd op 22/02/2018 21:52:03 door Jasper Schellekens
Je kunt dus niet zomaar exceptions introduceren / er tussengooien, dit heeft implicaties voor de opzet van de applicatiecode.
@Thomas: Een Exceptionhandler kan eventueel ook erg handig zijn. Dan hoef je zo weinig mogelijk aan te passen om het te integreren.
Nu probeer ik deze pagina te krijgen:
index.php?p=viewreport&id=1
Dit werkt helaas niet.
viewreport.php?id=1 werkt wel prima.
Hoe krijg ik dit voor elkaar en wat doe ik verkeerd?
index.php:
viewreport.php
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
$reportidget = $_GET['id'];
$reportid = $db->escapeString($reportidget);
$sql = "SELECT * FROM REPORTS WHERE ID ='$reportid'";
$stmt = $db->query($sql);
while($row = $stmt->fetchArray(SQLITE3_ASSOC) )
{
$status = $row['Status'];
echo "<div id='modal'>";
echo "<h1>Report against ". $row['PlayerName'] . " - ID: <td>". $row['ID'] . "</h1>";
echo "". $row['PlayerName'] . " has been reported by ". $row['Reporter'] . ".<br>";
echo "Date: ". $row['Date'] . "<br>";
echo "Report:<br>". $row['Report'] . "<br><br>";
echo "This report is currently";
if($status==1)
{
echo "Open";
} else {
echo "Pending";
}
echo " <a class='yes' href='javascript:void(0);'>Yes</a>";
echo "<a class='no' href='javascript:void(0);'>No</a>";
echo "</div>";
}
$reportid = $db->escapeString($reportidget);
$sql = "SELECT * FROM REPORTS WHERE ID ='$reportid'";
$stmt = $db->query($sql);
while($row = $stmt->fetchArray(SQLITE3_ASSOC) )
{
$status = $row['Status'];
echo "<div id='modal'>";
echo "<h1>Report against ". $row['PlayerName'] . " - ID: <td>". $row['ID'] . "</h1>";
echo "". $row['PlayerName'] . " has been reported by ". $row['Reporter'] . ".<br>";
echo "Date: ". $row['Date'] . "<br>";
echo "Report:<br>". $row['Report'] . "<br><br>";
echo "This report is currently";
if($status==1)
{
echo "Open";
} else {
echo "Pending";
}
echo " <a class='yes' href='javascript:void(0);'>Yes</a>";
echo "<a class='no' href='javascript:void(0);'>No</a>";
echo "</div>";
}
Gewijzigd op 22/02/2018 23:10:31 door Jasper Schellekens
Wat gebeurt er precies?
- Ariën - op 22/02/2018 23:13:52:
Wat gebeurt er precies?
Uhm niks, krijg een blanke pagina.
ofja niet helemaal blank. Maar waar de page word included.
Gewijzigd op 22/02/2018 23:14:56 door Jasper Schellekens
- Ariën - op 22/02/2018 22:59:10:
@Thomas: Een Exceptionhandler kan eventueel ook erg handig zijn. Dan hoef je zo weinig mogelijk aan te passen om het te integreren.
Mja, maar dit produceert nog steeds een fatal error:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
<?php
error_reporting(E_ALL);
ini_set('display_errors', 'stdout');
function my_handler($exception) {
echo 'hello there!';
throw new Exception('oops'); // als er binnen de handler alsnog iets fout gaat...
}
set_exception_handler('my_handler');
throw new Exception('hello');
?>
error_reporting(E_ALL);
ini_set('display_errors', 'stdout');
function my_handler($exception) {
echo 'hello there!';
throw new Exception('oops'); // als er binnen de handler alsnog iets fout gaat...
}
set_exception_handler('my_handler');
throw new Exception('hello');
?>
Dus binnen je exception handler zul je nog steeds try-catch constructies moeten gebruiken, en in dat geval kun je dan net zo goed direct een (of meer) try-catch blok(ken) gebruiken niet?
@Jasper: levert je query wel resultaten op?
Gewijzigd op 22/02/2018 23:39:45 door Thomas van den Heuvel
Jep want viewreport.php?p=1 werkt wel gewoon
Maar een try-catch blok in de handler zou op sich al geen slecht idee zijn.
Je kan je code volgooien met een hoop try-catch blokken, maar ik vraag mij dan af: "Blijft de code nog wel leesbaar met een hoop statements?
@jasper: Heb je dit wel bovenaan staan?
En anders is het debuggen, en elke statement even een echo geven, om zo te kijken wat je script precies doet.
Gewijzigd op 23/02/2018 00:25:13 door - Ariën -
Maar deze twee paginas roepen hetzelfde script aan:
Errors worden niet weergegeven en error reporting staat aan.
viewreport.php?p=1
index.php?p=viewreport&id=1 zou bovenstaande pagina moeten aanroepen maar doet dit niet.
Ik heb een screenshot gemaakt om de situati duidelijker te beschrijven.
viewreport.php?p=1
index.php?p=viewreport&id=1
De pagina viewreport.php?p=1 zou weergegeven moeten worden onder het kopje Easy UCP
Let niet op de style haha is natuurlijk nog niet af .
Gewijzigd op 23/02/2018 14:24:19 door Jasper Schellekens