Versio

Variabels worden niet opgeslagen.

Overzicht Reageren

Johannes

Johannes

26/12/2007 17:22:00
Quote Anchor link
Hallo.

Ik ben bezig om een soort registratie / login systeem te maken voor mijn site.

Het enigste probleem is, dat hij de $variables niet onthoud :S

Als ik mijn gegevens invoer, en op registreren klik, dan krijg ik de zelfde pagina weer met het registreer gedeelte, terwijl eigenlijk er een melding moet verschijnen dat ik me heb geregistreerd.

De code heb ik voor nu nog simpel gehouden, en de MySQL zit er nog niet in, maar het zou toch moeten werken?

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
<?
/* Scripted by Johannes Wiersma */

if ($submit){
echo "Gefeliciteerd ".$user_name."Registratie geslaagd";
exit;}

include "header.php";
?>


<B><H3>Registratie</H3></B>
Graag alles goed invullen a.u.b.<BR>
Anders kunnen er fouten verschijnen!<BR><BR>

<FORM ACTION="<? $PHP_SELF ?> " METHOD="POST">

<TABLE BORDER="0">

<TR><TD WIDTH="160">Gebruikersnaam:</TD>
    <TD WIDTH="260"><INPUT TYPE="TEXT" ID="user_name" SIZE="20" MAXLENGTH="20"></TD></TR>

<TR><TD WIDTH="160">Wachtwoord:</TD>
    <TD WIDTH="260"><INPUT TYPE="PASSWORD" ID="user_pass" SIZE="20" MAXLENGTH="20"></TD></TR>

<TR><TD WIDTH="160">E-mail:</TD>
    <TD WIDTH="260"><INPUT TYPE="TEXT" ID="user_mail" SIZE="40" MAXLENGTH="50"></TD></TR>
    
<TR><TD WIDTH="160"></TD>
    <TD WIDTH="260"><INPUT TYPE="SUBMIT" NAME="submit" VALUE="Registreer" />
                    <input type="reset" value="Reset" /></TD></TR>

</TABLE>

<? include "footer.php"; ?>


Ookal heb ik bij een tutorial hier op deze site gekeken, die na de submit butten naar een andere pagina gaat, maar op die pagina is hij de variables alweer vergeten.


Ik snap niet waarom het werkt. Kan iemand mij hierbij helpen?


-edit- Owjah, header en footer.php geven aleen maar de titel en en wat text onderaan weer, dat is aleen maar een beetje html
Gewijzigd op 01/01/1970 01:00:00 door Johannes
 
PHP hulp

PHP hulp

25/05/2012 17:25:23
Gesponsorde koppelingen:
 
Joren de Wit
Beheerder

Joren de Wit

26/12/2007 17:26:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
if ($submit){
?>

Sinds wanneer controleer je op deze manier of een formulier verzonden is? Dat doe je altijd nog met:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
if($_SERVER['REQUEST_METHOD'] == 'POST')
?>

Verder hoort $PHP_SELF natuurlijk $_SERVER['PHP_SELF'] te zijn. En tenslotte zijn html tags tegenwoordig allemaal lowercase...

ps. Verder lees je geposte variabelen uit met $_POST['var']. Gewoon $var zal niet meer werken als register_globals uitgezet is...
Gewijzigd op 01/01/1970 01:00:00 door Joren de Wit
 
- SanThe -

- SanThe -

26/12/2007 17:27:00
Quote Anchor link
Zet dit bovenin je script.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
error_reporting(E_ALL);
ini_set("display_errors", 1);

// rest
?>
Gewijzigd op 01/01/1970 01:00:00 door - SanThe -
 
Johannes

Johannes

26/12/2007 17:34:00
Quote Anchor link
@ SanThe: Bedankt voor de error scriptje. Erg handig.

@Blanche: Het werkt. Harstikke bedankt, nu kan ik weer verder.
 
Johannes

Johannes

26/12/2007 19:34:00
Quote Anchor link
Hallo, daar ben ik weer. Ik heb toch nog wat problemen ondervonden.

ALs ik de verbeteringen van hierboven gebruik, en daarna de variable opvraag krijg ik een error:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
Notice: Undefined index: $user_name in .../register.php on line 10


Dit betetekend dus, dat hij nog steeds niet de variable heeft opgeslagen?

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
<?
/* Scripted by Johannes Wiersma */

error_reporting(E_ALL);
ini_set("display_errors", 1);


if($_SERVER['REQUEST_METHOD'] == 'POST'){

$user_name    = $_POST['$user_name'];
echo "Gefeliciteerd ".$user_name."Registratie geslaagd";
}
else{
?>

<FORM ACTION="<? $_SERVER['PHP_SELF'] ?> " METHOD="POST">
<TABLE BORDER="0">
<TR><TD WIDTH="160">Gebruikersnaam:</TD>
    <TD WIDTH="260"><INPUT TYPE="TEXT" name="user_name" SIZE="20" MAXLENGTH="20"></TD></TR>
<TR><TD WIDTH="160"></TD>
    <TD WIDTH="260"><INPUT TYPE="SUBMIT" NAME="submit" VALUE="Registreer" />
                    <input type="reset" value="Reset" /></TD></TR>
</TABLE>
<? } ?>
Gewijzigd op 01/01/1970 01:00:00 door Johannes
 
Jan Koehoorn

Jan Koehoorn

26/12/2007 19:40:00
Quote Anchor link
Verander: $_POST['$user_name'] in: $_POST['user_name']
Edit:
En dit soort dingen:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
    $user_name
= $_POST['user_name'];
?>

is onzin. Je kopiƫert de ene variabele in de andere zonder er iets mee te doen. Zonde.
Gewijzigd op 01/01/1970 01:00:00 door Jan Koehoorn
 
Johannes

Johannes

26/12/2007 19:49:00
Quote Anchor link
Harstikke bedankt. dat 1 verkeerd geplaatste teken een heel systeem in de war kan brengen :P

P.S. Jullie zijn hier wel snel met antwoord geven. Toppie!
 
Jan Koehoorn

Jan Koehoorn

26/12/2007 19:50:00
Quote Anchor link
Johannes schreef op 26.12.2007 19:49:
Harstikke bedankt. dat 1 verkeerd geplaatste teken een heel systeem in de war kan brengen :P

Ja, het steekt krap he, dat programmeren ;-)
 



Overzicht Reageren