Verbinden met MySQL lukt niet.

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Arnold Westerman

Arnold Westerman

07/12/2018 11:18:13
Quote Anchor link
Ik ben bezig met een eigen website en heb de forms al gemaakt. ik loop echter tegen problemen aan als ik het in werking wil zetten.

hier de code van het form
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
<form class="login-form" id="login-form" action="connect.php" method="post" />
            <label class="login-form__label">Email / Username:
                <input class="login-form__text" type="text" name="username" id="login-username" maxlength="200" title="Enter your Email / Username:" value="" autofocus="" autocomplete="email" required="" data-test="username">
                <span class="form-error">
                    This field is required.
                </span>
            </label>
            <label class="login-form__label">Password:
                <input class="login-form__text" type="password" name="password" id="login-password" maxlength="20" title="Enter your password" autocomplete="current-password" required="" data-test="password">
                <span class="form-error">
                    This field is required.
                </span>
            </label>
            <button class="a-button a-button--size-full" id="rs-login-submit" type="submit" data-test="login">Log In</button>

        </form>



hier de connect.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
25
26
27
28
29
30
<?php

define ('DB_NAME', '');
define ('DB_USER', '');
define ('DB_PASSWORD', '***');
define ('DB_HOST', 'localhost');

$link = mysql_connect (DB_HOST, DB_USER, DB_PASSWORD);

if (!$link) {
die ('Could not connect: ' . mysql_error());
- }


 $db_selected = mysql_select_db (DB_NAME, $link);

 if (!$db_selected) {
     die('can\'t use ' . DB_NAME . ': ' . mysql_error());
 - }


 $value = $_POST['username']
 $value2 = $_POST['password'];

 $sql = "INSERT INTO account (username) VALUES ('$value')";

 if (!mysql_query($sql)) {
     die('Error: ' . mysql_error());
- }


mysql_close();
?>



echter wanneer ik het test en probeer in te loggen werkt het niet. ik heb de connect.php geupload naar public_html.

Wie kan mij uit de brand helpen? ben redelijk nieuw in php maar interessant vind ik het zeker!

Edit:
Ik heb code-tags geplaatst om je scripts. Gelieve dit in het vervolg zelf te doen. Zie ook de opmaakcodes onder de Veelgestelde Vragen op deze site
Gewijzigd op 07/12/2018 12:05:12 door - Ariën -
 
PHP hulp

PHP hulp

17/12/2018 21:45:55
 
Jacco Engel

Jacco Engel

07/12/2018 11:30:42
Quote Anchor link
Waarschijnlijk omdat je mysql_connect gebruikt :)
http://nl3.php.net/mysql_connect
deze is depricated en als je een hosting provider gebruikt is er een reeele kans dat ze op PHP7 draaien.

Probeer eens de setup aan te passen naar mysqli
http://nl3.php.net/mysqli_connect

En mocht dat ook niet werken, begin dan met controleren of de credentials wel kloppen door er mee in te loggen op PHPmyAdmin.

Mocht dat wel werken hebben we een iets specifiekere error nodig (ik in ieder geval :P)

Verder wil ik je nog sterk adviseren om je credentials uit je post te halen. Het is een publiek forum waar iedereen je post kan bekijken :)
Gewijzigd op 07/12/2018 11:31:33 door Jacco Engel
 
- Ariën -
Beheerder

- Ariën -

07/12/2018 12:01:06
Quote Anchor link
Edit:
Ik heb twee dubbele topics hierover verwijderd. Het is absoluut niet de bedoeling om meerdere topics te starten over één onderwerp!
Gewijzigd op 07/12/2018 12:01:50 door - Ariën -
 
Arnold Westerman

Arnold Westerman

07/12/2018 12:29:21
Quote Anchor link
- Ariën - op 07/12/2018 12:01:06:
Ik heb twee dubbele topics hierover verwijderd. Het is absoluut niet de bedoeling om meerdere topics te starten over één onderwerp!
[/modedit]


Mijn excuus.



Toevoeging op 07/12/2018 12:38:29:

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
<?php

define ('DB_NAME', '');
define ('DB_USER', '');
define ('DB_PASSWORD', '')
define ('DB_HOST', 'localhost');

mysqli mysqli_connect ([ string $host = ini_get("mysqli.default_host") [, string $DB_USER = ini_get("mysqli.default_user") [, string $DB_PASSWORD = ini_get("mysqli.default_pw") [, string $DB_NAME = "" [, int $port = ini_get("mysqli.default_port") [, string $socket = ini_get("mysqli.default_socket") ]]]]]] )

if (!$link) {
die ('Could not connect: ' . mysqli_error());
- }


 $db_selected = mysqli_select_db (DB_NAME, $link);

 if (!$db_selected) {
     die('can\'t use ' . DB_NAME . ': ' . mysqli_error());
 - }


 $value = $_POST['username']
 $value2 = $_POST['password'];

 $sql = " INSERT INTO `account` (`username`, `password`) VALUES ('', '')

 if (!mysqli_query($sql)) {
     die('Error: ' . mysqli_error());
- }


mysqli_close();
?>




Dit is wat ik er nu van heb gemaakt maar ik krijg het alsnog niet voor elkaar, ben redelijk nieuw in php en snap er nog vrij weinig van. Is er een verwijzing nodig in de html misschien voor het verbinden met de database of is de action: connect.php post genoeg hierin? Ik hoor graag van iemand hoe ik het werkend kan krijgen
 
- Ariën -
Beheerder

- Ariën -

07/12/2018 12:56:27
Quote Anchor link
Dat is geen goede PHP-code. Je staat nu de syntax-beschrijvingen te copy/pasten.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
mysqli mysqli_connect ([ string $host = ini_get("mysqli.default_host") [, string $DB_USER = ini_get("mysqli.default_user") [, string $DB_PASSWORD = ini_get("mysqli.default_pw") [, string $DB_NAME = "" [, int $port = ini_get("mysqli.default_port") [, string $socket = ini_get("mysqli.default_socket") ]]]]]] )


En waarom de streepjes voor die brackets ( { en } ) ?

Verder is HTML een opmaaktaal, en dat staat volledig los van PHP.
Het beste is een goede tutorial door te lopen, en niet lukraak te kopiëren en te plakken. Je moet immers weten wat je doet, en wat het script doet en wat er uiteindelijk gebeurt.
Gewijzigd op 07/12/2018 13:01:37 door - Ariën -
 
Arnold Westerman

Arnold Westerman

07/12/2018 13:01:08
Quote Anchor link
Klopt heb het inderdaad zo overgenomen. PHP blijkt toch lastiger als ik had gedacht. Ik ga denk ik maar professionele hulp inschakelen voor deze kwestie want ik kom er zo niet uit. HTML geen probleem maar dat PHP is nog een vak apart haha. Bedankt in ieder geval.
 
- Ariën -
Beheerder

- Ariën -

07/12/2018 13:04:01
Quote Anchor link
Ik denk persoonlijk niet dat het voor je lastiger is dan je dacht. Maar je werkt je nu eigenlijk in de nesten omdat je rücksichtslos enkel maar kopiëert en plakt. En dat werkt dus niet!

Description op PHP.net is dus: Beschrijvingen (dus geen werkende code!)
Examples op PHP.net zijn dus: Voorbeelden.

Je moet weten wat de functies in je scripts zijn, wat er gebeurt en wat je doet.

Maar als je hier al op vastloopt, dan kan je beter bij het begin beginnen, en MySQL en databases nog even vergeten. Maak eerst maar eens kennis met een simpel script dat een text weergeeft, en wat kan rekenen en wat if-else'jes gebruikt.
Gewijzigd op 07/12/2018 13:17:39 door - Ariën -
 
Jacco Engel

Jacco Engel

07/12/2018 13:24:47
Quote Anchor link
Heb je even een PM gestuurd :)
 
Thomas van den Heuvel

Thomas van den Heuvel

07/12/2018 15:35:08
Quote Anchor link
Nu ja, het is in ieder geval hoopgevend dat je de documentatiesite lijkt te raadplegen, maar dan moet je wel weten wat alles betekent. Die [rechte haken] geven aan dat een functie-parameter optioneel is. Vaak worden meerdere parameters ook op die manier gegroepeerd. Dat betekent dat die functie met die parameters (en dat specifieke aantal) aangeroepen kan worden. Zo kan de functie number_format() bijvoorbeeld aangeroepen worden met 1, 2 of 4 parameters. Dat zijn dan de geldige combinaties.

Vervolgens zijn daar de type-aanduidingen zoals string, int, float et cetera. Deze geven aan wat voor type parameter er op die positie wordt verwacht. Bij de definitie van functies en methoden kun je deze als typehints meegeven (wat voor type variabele verwacht ik op deze positie), maar bij de aanroep hoef je er enkel zorg voor te dragen dat de parameters van het aangegeven type zijn, het is dan niet nodig (en waarschijnlijk krijg je dan ook foutmeldingen) als je die daar opnieuw opgeeft.
 
- Ariën -
Beheerder

- Ariën -

09/12/2018 10:28:47
Quote Anchor link
Is het nog gelukt met het verbeteren van je script?
 



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.