Een vraag over inloggen.

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: « vorige 1 2 3 volgende »

- Ariën  -
Beheerder

- Ariën -

22/02/2018 14:56:55
Quote Anchor link
Hopelijk begrijp je nu/straks hoe de exceptions werken.
Zeker handig in zulke situaties.
 
PHP hulp

PHP hulp

22/11/2024 14:48:49
 
Jasper Schellekens

Jasper Schellekens

22/02/2018 19:56:53
Quote Anchor link
- Ariën - op 22/02/2018 14:56:55:
Hopelijk begrijp je nu/straks hoe de exceptions werken.
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)
PHP script in nieuw venster Selecteer het PHP script
1
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>


Ik vermoed dat het zoiets zal zijn als
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$_POST["RCGENDER"]

Maar hoe haal je de value dan op?
Gewijzigd op 22/02/2018 19:57:41 door Jasper Schellekens
 
- Ariën  -
Beheerder

- Ariën -

22/02/2018 20:02:40
Quote Anchor link
De waarde zit in $_POST["RCGENDER"]. Dus als je die zichtbaar wilt hebben, dan kan je die echo'en. Of als je die wilt benutten in de verwerking van je script, dan kan je die variabele in de juiste functie plaatsen.

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 -
 
Jasper Schellekens

Jasper Schellekens

22/02/2018 20:08:16
Quote Anchor link
Font had ik gebruikt om een sterretje * rood te kleuren. Ik ben qua html nog van de oude stempel omdat ik daar 10 jaar geleden heel erg mee bezig was. Ik heb die <font> eigenlijk getypt even snel.

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
 
- Ariën  -
Beheerder

- Ariën -

22/02/2018 20:14:49
Quote Anchor link
Voor wat betreft de opmaak: Ik zou dan liever <span> gebruiken.

Verder kan je uiteraard ook een 1 of een 2 in de value zetten.
 
Jasper Schellekens

Jasper Schellekens

22/02/2018 20:22:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<input type="radio" name="RCGENDER" value="1" checked>

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
 
- Ariën  -
Beheerder

- Ariën -

22/02/2018 20:25:11
Quote Anchor link
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.

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 -
 
Jasper Schellekens

Jasper Schellekens

22/02/2018 20:32:00
Quote Anchor link
- 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
 
- Ariën  -
Beheerder

- Ariën -

22/02/2018 21:27:35
Quote Anchor link
Zie je PM even die ik net heb verstuurd.

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.
 
Jasper Schellekens

Jasper Schellekens

22/02/2018 21:51:34
Quote Anchor link
Ik bedoelde eigenlijk controleren of de gebruiker deze username invoert:

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
 
- Ariën  -
Beheerder

- Ariën -

22/02/2018 21:55:31
Quote Anchor link
Kijk eens naar strpos.
 
Thomas van den Heuvel

Thomas van den Heuvel

22/02/2018 22:56:15
Quote Anchor link
Overigens, als je van exceptions gebruik maakt, dan moet de applicatie wel zo ingericht zijn dat deze hier gebruik van kan maken. Dit komt meestal neer op het plaatsen van een of meerdere (geneste) try-catch blokken. Een exception die niet gevangen wordt in een catch-blok resulteert altijd in een fatal error, ik neem dat dat laatste niet de bedoeling is maar dat e.e.a. netjes opgevangen en afgehandeld zou moeten worden.

Je kunt dus niet zomaar exceptions introduceren / er tussengooien, dit heeft implicaties voor de opzet van de applicatiecode.
 
- Ariën  -
Beheerder

- Ariën -

22/02/2018 22:59:10
Quote Anchor link
@Thomas: Een Exceptionhandler kan eventueel ook erg handig zijn. Dan hoef je zo weinig mogelijk aan te passen om het te integreren.
 
Jasper Schellekens

Jasper Schellekens

22/02/2018 23:07:50
Quote Anchor link
Bedankt, Het is intussen gelukt.
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:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
$page = $_GET['p'];
if($page == "viewreport"){
include"viewreport.php";  
}

viewreport.php
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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>";
      
   }
Gewijzigd op 22/02/2018 23:10:31 door Jasper Schellekens
 
- Ariën  -
Beheerder

- Ariën -

22/02/2018 23:13:52
Quote Anchor link
Wat gebeurt er precies?
 
Jasper Schellekens

Jasper Schellekens

22/02/2018 23:14:31
Quote Anchor link
- 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
 
Thomas van den Heuvel

Thomas van den Heuvel

22/02/2018 23:38:55
Quote Anchor link
- 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)
PHP script in nieuw venster Selecteer het PHP script
1
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');
?>

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
 
Jasper Schellekens

Jasper Schellekens

23/02/2018 00:15:55
Quote Anchor link
@thomas
Jep want viewreport.php?p=1 werkt wel gewoon
 
- Ariën  -
Beheerder

- Ariën -

23/02/2018 00:22:40
Quote Anchor link
Ik vind een custom exception-handeler zelf makkelijker werken, en ik heb nog geen grote nadelen gezien. En zolang je geen exceptions in je handler gebruikt werkt het prima.
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?
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
error_reporting(E_ALL);
ini_set('display_errors', 'stdout');
?>


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 -
 
Jasper Schellekens

Jasper Schellekens

23/02/2018 13:31:42
Quote Anchor link
Of ik begrijp jullie verkeerd, of jullie mij.
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
 

Pagina: « vorige 1 2 3 volgende »



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.