Probleem met deelnemers in database zetten

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: 1 2 volgende »

- Rob -

- Rob -

15/08/2017 15:43:28
Quote Anchor link
Hallo,

Ik krijg het maar niet voor elkaar om het volgende te doen: Ik heb een invoer veld en daar kunnen mensen namen invullen maar ik krijg ze niet apart in de database, als iemand 1 naam invoerd komt die wel in de database.

Hier is mijn code:
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
$participants = explode('+', $_POST['participants']);
                            foreach ($participants as $participant)
                            {
                                $participantIdSql = $mysqli->query("SELECT * FROM `leden` WHERE `gebruikersnaam` = '" . save_string($participant) . "'");
                                if (!$participantIdSql)
                                {
                                    getValue('error');
                                }
                                else
                                {
                                    $participant = $participantIdSql->fetch_assoc();
                                    $participant = $participant['id'];

                                    $createNewConvoParticipantsSql = $mysqli->query("INSERT INTO `paneel_conversatie_deelnemers` (`gebruiker_id`, `conversatie_id`, `toegevoegd_op`) VALUES ('" . save_string($participant) . "', '" . $convoId . "', '" . save_string(date('H:i:s d-m-Y', time())) . "')");
                                    if (!$createNewConvoParticipantsSql)
                                    {
                                        getValue('error');
                                    }
                                    else
                                    {
                                        
                                    }
                                }
                            }
 
PHP hulp

PHP hulp

29/04/2024 13:28:15
 
- Ariën  -
Beheerder

- Ariën -

15/08/2017 15:55:27
Quote Anchor link
Wat doet save_string() en waarom maak je zelf de datum aan, terwijl je ook prima NOW() kan gebruiken?
En het lijkt mij niet handig om $participant te overschrijven.
Gewijzigd op 15/08/2017 15:56:27 door - Ariën -
 
Thomas van den Heuvel

Thomas van den Heuvel

15/08/2017 17:53:48
Quote Anchor link
Los daarvan (safe_string()?), wat is dit:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$participants = explode('+', $_POST['participants']);

Kun je dat niet wat eleganter oplossen in je formulier?
 
- Rob -

- Rob -

15/08/2017 18:07:47
Quote Anchor link
save_string() is een eigen functie die ik heb aangemaakt. Maar kunnen jullie dan een voorbeeld geven hoe ik het kan verbeteren
 
- Ariën  -
Beheerder

- Ariën -

15/08/2017 18:20:09
Quote Anchor link
Wat doet die functie (die overigens verkeerd geschreven is). En wat is de meerwaarde vergeleken met $mysqli->real_escape_string() ?
 
Thomas van den Heuvel

Thomas van den Heuvel

15/08/2017 22:04:37
Quote Anchor link
Het is korter :s. Misschien is het een zelf gemaakte alias van real_escape_string()?

Is de gebruikersnaam wel uniek? Wellicht is het handiger als gebruikers/deelnemers eerst geregistreerd worden en dat je die vervolgens selecteert?
 
- Ariën  -
Beheerder

- Ariën -

15/08/2017 22:10:03
Quote Anchor link
Thomas van den Heuvel op 15/08/2017 22:04:37:
Het is korter :s. Misschien is het een zelf gemaakte alias van real_escape_string()?

Zou kunnen! De topicstarter weet het beter!
Ikzelf ben geen fan van aliassen aanmaken. Elke goede IDE heeft function-recognising ingebouwd in een suggest, waardoor je met enkele toetsaanslagen, een pijlcursor en een enter de juiste functie al in je script zet.
 
Peter K

Peter K

16/08/2017 07:00:54
Quote Anchor link
Thomas van den Heuvel op 15/08/2017 17:53:48:
Los daarvan (safe_string()?), wat is dit:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$participants = explode('+', $_POST['participants']);

Kun je dat niet wat eleganter oplossen in je formulier?


Ik denk dat hij een textarea gebruikt oid, hier vult men dan b.v. in:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
thomas+peter+rob


Vervolgens maakt hij er denk ik een array van middels de explode.
Je kunt natuurlijk inderdaad meerdere input velden toevoegen in je formulier, of een knop voor een extra invoerveld. Echter zal dit wel compacter blijven zoals hij het nu opbouwt.
 
- Ariën  -
Beheerder

- Ariën -

16/08/2017 09:03:41
Quote Anchor link
Als je meerdere mensen wit invoeren via een textarea? Waarom niet per lijn?
Gewijzigd op 16/08/2017 09:03:52 door - Ariën -
 
Thomas van den Heuvel

Thomas van den Heuvel

16/08/2017 10:50:30
Quote Anchor link
Quote:
Ik denk dat hij een textarea gebruikt oid

Zoveel leek mij wel duidelijk ja.

Quote:
Echter zal dit wel compacter blijven zoals hij het nu opbouwt.

Uhuh, en behoorlijk gebruikersonvriendelijk, bewerkelijk en foutgevoelig.

Ik snap wel wat TS probeert te bereiken, maar kan er niet bij dat deze zoiets op deze manier zou willen doen.

Als jij verteld zou worden dat je informatie op bovenstaande wijze zou moeten invoeren bij gebruikmaking van een systeem, wat zou je dan antwoorden? Ik zou vragen wat de maker aan het roken was op het moment dat deze deze functionaliteit schreef.
 
Peter K

Peter K

16/08/2017 11:40:14
Quote Anchor link
Thomas van den Heuvel op 16/08/2017 10:50:30:
Als jij verteld zou worden dat je informatie op bovenstaande wijze zou moeten invoeren bij gebruikmaking van een systeem, wat zou je dan antwoorden? Ik zou vragen wat de maker aan het roken was op het moment dat deze deze functionaliteit schreef.


Dat is uiteraard afhankelijk van de wensen. Mijn voorkeur zou het niet hebben, maar wat als topic starter het toch graag zo wilt....
 
Thomas van den Heuvel

Thomas van den Heuvel

16/08/2017 11:50:42
Quote Anchor link
Peter K op 16/08/2017 11:40:14:
maar wat als topic starter het toch graag zo wilt....

Als ontwikkelaar heb je ook een zekere verantwoordelijkheid om mensen bij te sturen wanneer deze al te exotische constructies als gangbare oplossingen (willen/blijven) gebruiken.

Geen fatsoenlijk administratief systeem zal op de bovenstaande wijze werken, noch op deze wijze op een fatsoenlijke manier blijven werken.
 
- Ariën  -
Beheerder

- Ariën -

16/08/2017 12:00:42
Quote Anchor link
Sommige mensen werken in hun eentje aan een project, en hebben hun eigen methodiek.
Blijkbaar ook de topicstarter. Als je met een groep werkt, dan is een goede workflow en het volgen van de juiste procedures en technieken zeker een must om te voorkomen dat de code onwerkbaar wordt. Een wiki met richtlijnen en wat interessante vergaderingen met elkaar zijn dan een mooi initiatief.

Maar als de topicstarter toch door willens en wetens niet overstag wilt gaan, dan is dat zijn/haar risico. Dan is het in mijn ogen zinloos om hier een heel topic aan te spenderen. (puur om als voorbeeld te noemen). De wereld kan je nooit naar je eigen hand brengen, om maar in gedachten te houden ;-)
Gewijzigd op 16/08/2017 12:05:12 door - Ariën -
 
Thomas van den Heuvel

Thomas van den Heuvel

16/08/2017 12:12:18
Quote Anchor link
Sorry, ik was het onderscheid tussen ontwikkelaar en hobby bob even uit het oog verloren.
 
- Rob -

- Rob -

16/08/2017 12:19:11
Quote Anchor link
Peter K op 16/08/2017 07:00:54:
Thomas van den Heuvel op 15/08/2017 17:53:48:
Los daarvan (safe_string()?), wat is dit:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
$participants = explode('+', $_POST['participants']);

Kun je dat niet wat eleganter oplossen in je formulier?


Ik denk dat hij een textarea gebruikt oid, hier vult men dan b.v. in:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
thomas+peter+rob


Vervolgens maakt hij er denk ik een array van middels de explode.
Je kunt natuurlijk inderdaad meerdere input velden toevoegen in je formulier, of een knop voor een extra invoerveld. Echter zal dit wel compacter blijven zoals hij het nu opbouwt.



Dit klopt grotendeels alleen gebruik ik geen textarea maar een text input
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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
<form>
                                    <div class="box-body no-padding">
                                        <div class="box-body">
                                            <div class="form-group">
                                                <input class="form-control form-convo-o" type="text" placeholder="Titel van conversatie">
                                            </div>

                                            <div class="form-group">
                                                <input class="form-control form-convo-to" type="text" placeholder="Leden van conversatie (gescheiden met een plus, zoals leet1+leet2+leet3)">
                                            </div>

                                            <div class="form-group">
                                                <textarea name="form-convo-conv"></textarea>
                                            </div>

                                            <div class="form-group">
                                                <div class="checkbox">
                                                    <label title="Als de conversatie gesloten is kunnen er geen reacties worden geplaatst"><input class="form-convo-closed" type="checkbox" value="1"> Gesloten conversatie</label>
                                                </div>
                                            </div>
                                        </div>

                                        <div class="box-footer">
                                            <div class="pull-right">
                                                <button type="submit" class="btn btn-primary form-convo-submit">
                                                    <i class="fa fa-envelope-o"></i>

                                                    Verzenden
                                                </button>
                                            </div>

                                            <a href="/Workspace/Novara Bank/conversaties" class="btn btn-default">
                                                <i class="fa fa-times"></i>

                                                Annuleren
                                            </a>
                                        </div>
                                    </div>
                                </form>
 
- Ariën  -
Beheerder

- Ariën -

16/08/2017 12:20:09
Quote Anchor link
Als iemand graag zijn eigen methodiek wilt volgen, wie zijn wij dan om te bepalen dat het 'moet'?
We kunnen diegene wel een paar keer waarschuwen, maar je kan diegene niks verplichten. Wij zijn immers toch niet verantwoordelijk voor zijn/haar applicatie?

Maar goed, dit verdient eigenlijk meer een eigen topic, dus laten we ons vanaf nu weer op de TS zijn probleem richten.
Gewijzigd op 16/08/2017 12:21:25 door - Ariën -
 
- Rob -

- Rob -

16/08/2017 12:20:56
Quote Anchor link
Thomas van den Heuvel op 15/08/2017 22:04:37:
Het is korter :s. Misschien is het een zelf gemaakte alias van real_escape_string()?

Is de gebruikersnaam wel uniek? Wellicht is het handiger als gebruikers/deelnemers eerst geregistreerd worden en dat je die vervolgens selecteert?


de conversaties zijn voor leden, dus zijn geregistreed, uiteindelijk wil ik ook maken dat je ze kan selecteren maar ik heb nog geen idee hoe dat werkt ben sinds kort pas weer begonnen met coderen dus het is even inkomen voor mij. dit is gewoon weer even een proef projectje
Gewijzigd op 16/08/2017 12:21:43 door - Rob -
 
Peter K

Peter K

16/08/2017 13:02:20
Quote Anchor link
- Rob - op 16/08/2017 12:20:56:
Thomas van den Heuvel op 15/08/2017 22:04:37:
Het is korter :s. Misschien is het een zelf gemaakte alias van real_escape_string()?

Is de gebruikersnaam wel uniek? Wellicht is het handiger als gebruikers/deelnemers eerst geregistreerd worden en dat je die vervolgens selecteert?


de conversaties zijn voor leden, dus zijn geregistreed, uiteindelijk wil ik ook maken dat je ze kan selecteren maar ik heb nog geen idee hoe dat werkt ben sinds kort pas weer begonnen met coderen dus het is even inkomen voor mij. dit is gewoon weer even een proef projectje


Wellicht verstandig om eens even te verdiepen in alles wat HTML5 je te bieden heeft? Dan kun je er achter komen wat er allemaal kan. (in principe kan alles)

Blijf als uitgangspunt hebben dat je een gebruiksvriendelijk programma wilt ontwerpen/bouwen.
 
- Rob -

- Rob -

16/08/2017 13:18:23
Quote Anchor link
Ik heb nu iets gevonden, een plugin waarmee je meerdere mensen kunt selecteren en mensen kan zoeken. De plugin is select2
 
Peter K

Peter K

17/08/2017 07:33:21
Quote Anchor link
- Rob - op 16/08/2017 13:18:23:
Ik heb nu iets gevonden, een plugin waarmee je meerdere mensen kunt selecteren en mensen kan zoeken. De plugin is select2


Heb je je al verdiept in HTML5?
https://www.w3schools.com/tags/tryit.asp?filename=tryhtml_select_multiple
 
- Rob -

- Rob -

18/08/2017 18:01:55
Quote Anchor link
Select multiple zit dus in select2, ja dus.
 

Pagina: 1 2 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.