Probleem met WHILE

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Johan

johan

13/02/2009 14:05:00
Quote Anchor link
hoi

op men site kan je een form invullen in een popup venster (hier kan je een plan naam invullen)

nu wil ik controleren of er wel iets ingevuld word en of hetgeen dat ingevuld word niet al in de database zit

ik doe dit met volgens script

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
<?php
session_start();
require 'mysqldb.php';
$sql="SELECT * FROM plan WHERE Username='".$_SESSION['Username']."'";
if ($result=mysql_query($sql))
{

    while ($gegevens=mysql_fetch_assoc($result))
    {

        if ($_POST['plan_naam'] == '' )
        {

            echo 'leeg';
        }

        elseif ($_POST['plan_naam'] == $gegevens['naam_plan'])
        {

            echo 'in gebruik';
        }

        else
        {
            echo $_SESSION['Username'];
        }
    }
}

else
{
echo 'Foutje: '.mysql_error().'.<br>';
echo 'sql';
}

?>


Maar ik krijg na op de knop van het formulier te drukken enkel een wit scherm

als ik de while weg laat en ga vergelijken met een bepaald woord wil hij wel dus bijvoorbeeld zo

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
<?php
session_start();
require 'mysqldb.php';
if ($_POST['plan_naam'] == '' )
{

    echo 'leeg';
}

elseif ($_POST['plan_naam'] == 'woord')
{

    echo 'in gebruik';
}

else
{
    echo $_SESSION['Username'];
}

?>


dus volgens mij ligt het probleem bij de while

althans gebruik ik de while loop in tal van andere scripts ook op dezelfde manier en daar werkt hij wel!

dacht eerst dat het aan de browser lag maar heb op alle bekende browser getest en nergens wil hij werken met het eerste script

zelfs met de erorrs aanstaan krijg ik enkel een wit scherm

alle hulp is welkom

mvg johan
Gewijzigd op 01/01/1970 01:00:00 door Johan
 
PHP hulp

PHP hulp

27/12/2024 21:58:06
 
Justin S

Justin S

13/02/2009 14:19:00
Quote Anchor link
Volgens mij moet je op regel 9 dubbele quotes gebruiken om aan te duiden dat ie leeg is: == "")
 
Jeffrey

Jeffrey

13/02/2009 14:20:00
Quote Anchor link
De dubbele quotes maken niet zoveel verschil volgens mij.

Ik denk eerder dat $_SESSION['Username'] leeg is, echo die eens.
 
Johan

johan

13/02/2009 14:34:00
Quote Anchor link
dat doe ik met het tweede script en dat doet hij dus de session username bestaat wel degelijk

ik heb nu ook eens dit geprobeerd maar nog steeds enkel een wit scherm

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
<?php
session_start();
require 'mysqldb.php';
$sql="SELECT COUNT(plan_naam) AS aantal_plannen FROM plan WHERE Username='".$_SESSION['Username']."' AND naam_plan='".mysql_real_escape_string($_POST['plan_naam'])."'";if ($result=mysql_query($sql))
if ($_POST['plan_naam'] == '' )
{

echo 'leeg';
}

else
{
    if ($result=mysql_query($sql))
    {

        if($result['aantal_plannen'] < 1)
        {
    
            echo 'goed zo'.$_SESSION['Username']. 'tis gelukt';
        }

        else
        {
            echo 'in gebruik!';
        }
    }

    else
    {
    echo 'Foutje: '.mysql_error().'.<br>';
    echo 'sql';
    }
}

?>
 
Yoram

Yoram

13/02/2009 14:56:00
Quote Anchor link
kijk eens miss komt het omdat je 2 x in feite doet:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php

if ($result=mysql_query($sql))

?>


hij staat er 2 x in

btw: die kun je er ook wel uit gooiene je start hem maar maakt hem nooit af..???
Gewijzigd op 01/01/1970 01:00:00 door Yoram
 
Johan

johan

13/02/2009 16:14:00
Quote Anchor link
sorry die eerste hoorde daar gewoon niet thuis zal ik gewoon verkeert gekopieerd hebben

ondertussen heb ik de oplossing gevonden

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
<?php
session_start();
require 'mysqldb.php';
$sql="SELECT COUNT(naam_plan) AS aantal_plannen FROM plan WHERE Username='".$_SESSION['Username']."' AND naam_plan='".mysql_real_escape_string($_POST['plan_naam'])."'";
if ($_POST['plan_naam'] == '' )
{

    include 'geen_naam.html';
    header('refresh:3; url=nieuw_plan.php');
}

else
{
    if ($result=mysql_query($sql))
    {

        if($resulta=mysql_fetch_array($result))
        {

            if ($resulta['aantal_plannen'] < 1)
            {
    
                $sql_a="INSERT INTO plan (naam_plan, Username) VALUES ('".$_POST['plan_naam']."', '".$_SESSION['Username']."')";
                if ($resultaat=mysql_query($sql_a))
                {

                    echo '<script language="javascript">alert('Uw plan is aangemaakt!'); window.close();</script>';
                }

                else
                {
                    echo 'Foutje: '.mysql_error().'.<br>';
                    echo $Sql_a;
                }
            }

            else
            {
                include 'naam_in_gebruik.html';
                header('refresh:3; url=nieuw_plan.php');
            }
        }
    }

    else
    {
    echo 'Foutje: '.mysql_error().'.<br>';
    echo '$sql';
    }
}

?>
 
Pieter van Linschoten

Pieter van Linschoten

13/02/2009 16:15:00
Quote Anchor link
Ik denk dat het aan dit ligt:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?
if ($result=mysql_query($sql)){
 #while
}else{
    echo 'Foutje: '.mysql_error().'.<br>';
    echo 'sql';
}

?>


probeer eens:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?
$result
= mysql_query($sql) or die('Foutje: ' .mysql_error().'.<br/>');
?>


[b]Edit[/b]:

Volgens mij heb je het antwoord al :/
Gewijzigd op 01/01/1970 01:00:00 door Pieter van Linschoten
 
Jesper Diovo

Jesper Diovo

13/02/2009 16:16:00
Quote Anchor link
Rot op met je or die(), Lapidi. Waag het niet dat nog ooit eens te adviseren. Juist wat de TS doet in z'n script is goed, wat jij doet niet. Het enige dat de TS wel moet doen is variabelen buiten quotes halen.
 
Johan

johan

13/02/2009 16:22:00
Quote Anchor link
je hebt het op '$sql' denk ik daar heb ik even over gezien :-)
 



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.