undefined index

Overzicht

Sponsored by: Vacatures door Monsterboard

Nils Kuijpers

Nils Kuijpers

04/09/2008 09:14:00
Anchor link
Dag,

Ik gebruik in dit simpel testje de methode POST om gegevens te versturen naar een PHP script, maar omdat ik de $_POST[""] variabelen te langdradig vindt wil ik deze verkorten naar een normale variabele. Als ik dat echter probeer krijg ik de melding:

Notice: Undefined index: send in C:\Inetpub\wwwroot\guestbook\index.php on line 25

Notice: Undefined index: bericht in C:\Inetpub\wwwroot\guestbook\index.php on line 26

Dit is de complete 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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
<html>

<head>

</head>

<body>

<?PHP

echo "Gastenboek<br \><br \>"

?>


<form action="<?PHP echo $_SERVER['PHP_SELF']; ?>" method="post">

<input type="text" name="bericht" value="<?PHP if(isset($_POST["bericht"]) and $_POST["bericht"] != "") {echo $_POST["bericht"];} ?>">

<input type="submit" name="send" value="send">

</form>

<?PHP

$send
= $_POST["send"];
$bericht = $_POST["bericht"];

if(isset($send))
    {

    if(isset($bericht) and $bericht != "")
        {

        echo "Bericht verzonden!";
        }

    else if(isset($bericht) and $bericht == "")
        {

        echo "Niet alle velden zijn ingevuld!";
        }
    }


?>


</body>
</html>
Gewijzigd op 28/09/2020 17:19:44 door - Ariën -
 
PHP hulp

PHP hulp

13/03/2025 20:55:38
 
Jelle Posthuma

Jelle Posthuma

04/09/2008 09:35:00
Anchor link
Jij zet hier

$send = $_POST["send"];
$bericht = $_POST["bericht"];

Direct in een variable...
Je weet niet eens of ze bestaan.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
if(!empty($_POST['send']) && !empty($_POST['bericht'])){
    $send = $_POST['send'];
    $bericht = $_POST['bericht'];
}

?>

Dan maakt ie $send en $bericht pas aan als ze ook daadwerkelijk bestaan in de post.
 
Noppes

Noppes

04/09/2008 09:43:00
Anchor link
En je controleerd natuurlijk met isset of variabelen bestaan niet met een andere functie.


Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php
if(     isset($_POST['send']) && trim($_POST['send'])!=''
   && isset($_POST['bericht']) && trim($_POST['bericht'])!='')
  ){

    $send = $_POST['send'];
    $bericht = $_POST['bericht'];
}

?>


Maar op bovenstaande manier worden $send en $bericht naturllijk niet gezet als de niet voldoen aan de voorwaarden zoals deze in de if is opgenomen....

een andere manier waarbij dat niet optreed:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
$send
= isset($_POST['send']) && trim($_POST['send'])!='' ? $_POST['send'] : '';
$bericht = isset($_POST['bericht']) && trim($_POST['bericht'])!='' ? $_POST['bericht'] : '';
?>
 
Jelle Posthuma

Jelle Posthuma

04/09/2008 09:49:00
Anchor link
Met !empty() controleert ie al of ze bestaan EN of ze niet leeg zijn.
Dan maakt ie de $send en $bericht aan.
Dat heb ik bewust gedaan omdat hij al een IF heeft in de vorm van:

if(isset($send))
 
Nils Kuijpers

Nils Kuijpers

04/09/2008 10:43:00
Anchor link
Bedankt heren, opgelost
 
Jordi

jordi

15/10/2008 20:44:00
Anchor link
ik krijg elke keer dat ik zogezegd mij verkeerd inlog een fout
Notice: Undefined index: poging in C:\\Documents and Settings\\eigenaar\\Bureaublad\\UsbWebserver\\UsbWebserver\\Root\\login.php on line 41
weet iemand wat dit kan zijn want ik weet nog niet zoveel van php

dit is alvast mijn code:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
include('config.php');
if($cfg['cronjobs'] != 1) { // Geen cronjobs ondersteund...
    include('cronjobs.php');
}

if(isset($_SESSION['gebruiker'])) {
    header("Location: ingelogged.php");
}

?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Inloggen</title>
</head>
<body>
<form name="form1" method="post" action="">
<table border="0">
<tr>
<td>Gebruikersnaam:</td>
<td><input name="gebruikersnaam" type="text" id="gebruikersnaam" size="35"
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php if(isset($_GET['gebruikersnaam'])) { ?>
value="
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?=$_GET['gebruikersnaam']?>
"
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php } ?>
></td>
</tr>
<tr>
<td>Wachtwoord:</td>
<td><input name="wachtwoord" type="password" id="wachtwoord" size="35"></td>
</tr>
<tr>
<td>Tijd:</td>
<td><select name="tijd" id="tijd">
<option value="3600" selected>Een uur</option>
<option value="86400">Een dag</option>
<option value="604800">Een week</option>
<option value="2678400">Een maand</option>
<option value="32140800">Een jaar</option>
<option value="32140767859200">Altijd</option>
</select>
(cookies vereist) </td>
</tr>
<tr>
</tr> <td colspan="2"><input name="poging" id="poging" type="hidden" value="
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php echo $_POST['poging']+1; ?>
"><input type="submit" name="Submit" value="Inloggen"></td>
</table>
</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
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<?php if(isset($_POST['Submit'])) {
if($_POST['poging'] == $cfg['poging']+1) { // Reeds 3 pogingen achter de rug?
    header("Location: wachtwoord.php");
}

    $checkg = mysql_result(mysql_query("SELECT COUNT(*) FROM leden WHERE gebruikersnaam='".$_POST['gebruikersnaam']."'"),0);
    $checkp = mysql_result(mysql_query("SELECT COUNT(*) FROM leden WHERE gebruikersnaam='".$_POST['gebruikersnaam']."' AND wachtwoord='".md5($_POST['wachtwoord'])."'"),0);
        if($_POST['gebruikersnaam'] == "" || $_POST['wachtwoord'] == "") {
            $error[] = 'Vul alle velden in!';
        }

        if($checkg == 0 && $_POST['gebruikersnaam'] != "") {
            $error[] = 'De ingevoerde gebruikersnaam is niet geregistreerd.';
        }

        if($_POST['wachtwoord'] != "" && $_POST['gebruikersnaam'] != "" && $checkp == 0) {
            $error[] = 'Het ingevoerde wachtwoord is niet correct.';
        }

        $fouten = sizeof($error); // aantal errors tellen
        if($fouten != 0) { // Er is minstens 1 error
            echo 'Kan niet inloggen omwille van de volgende reden(en):';
            echo '<ul>';
                for($i = 0; $i < $fouten; $i++) {
                    echo '<li>'.$error[$i].'</li>';
                }

            echo '</ul>';
            echo 'Poging '.$_POST['poging'].' van '.$cfg['poging'];
        }
else {
            session_start();
            $res = mysql_query("SELECT * FROM leden WHERE gebruikersnaam='".$_POST['gebruikersnaam']."'");
            $row = mysql_fetch_assoc($res);
            setcookie("gebruikersnaam",$row['gebruikersnaam'],time()+$_POST['tijd'],"/");
            setcookie("wachtwoord",$row['wachtwoord'],time()+$_POST['tijd'],"/");
            $_SESSION['gebruiker'] = $row['gebruikersnaam'];
            $_SESSION['gid']        = $row['id'];
            header("Location:  ingelogged.php");
        }
 }
?>

</body>
</html>
 

28/09/2020 17:15:01
Anchor link
Bedankt voor de antwoorden! Mijn site ****" had hetzelfde probleem.
Gewijzigd op 28/09/2020 17:18:50 door - Ariën -
 
- Ariën  -
Beheerder

- Ariën -

28/09/2020 17:19:29
Anchor link
Gelieve niet onnodig te linkspammen en oude topics omhoog te halen. Dit topic doe ik op slot.
 
 

Dit topic is gesloten.



Overzicht

 
 

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.