Welkom, Gast. Je bent niet ingelogd.

PHP If categorie show plaatje

Basjee
Octo
Geplaatst op: 25 Mar 2007, 13:41
PimpCoins: 0
💸+
Bewerken Quote

Heuj,
Ik ben bezig met een nieuwssysteempje () mét plaatjes upload.(zelfde als bij de blogs hier), dus als het plaatje word geuploaden showt ie dat plaatje maar nu wil ik dat als er niks is ingevuld of geen geldig plaatje ofzeu dat hij een standaard plaatje toont.

Ik heb nu dit:

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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
<?
if (isset($_POST['submit'])) {  
                                    if (empty($_POST['titel']))  
                                    {  
                                    $error .= "Je hebt geen titel ingevuld.<br>";  
                                    }  
                                    if (empty($_POST['icon']))  
                                    {  
                                    $error .= "Je hebt geen icon ingevuld.<br>";  
                                    }  
                                    if (empty($_POST['categorie']))  
                                    {  
                                    $error .= "Je hebt geen categorie ingevuld.<br>";  
                                    } 
                                    if (empty($_POST['nieuws']))  
                                    {  
                                    $error .= "Je hebt geen nieuws ingevuld.<br>";  
                                    } else { 
                                    
                                    $locatie="images/"; //of een andere map, vergeet niet de w-rechten 
   if(is_uploaded_file($_FILES['afbeelding']['tmp_name'])) 
   { 
        //controleer grootte 
        if($_FILES['afbeelding']['size']>15000) 
                   { //bepaal zelf de max. grootte in bytes 
                   echo "Het bestand is te groot"; 
                   exit; 
                   } 

        //controleer extensie, voeg maar andere toe 
        if(!eregi("((.gif|.jpg)$)", $_FILES['afbeelding']['name'])) 
                   { 
                   echo "het bestand is niet van het juiste type"; 
                   exit; 
                   } 


        if(!move_uploaded_file($_FILES['afbeelding']['tmp_name'], 
                               $locatie.$_FILES['afbeelding']['name'])) 

                  { 
                  echo" het bestand kan niet worden verplaatst"; 
                  exit; 
                  } else {
                  
    $tijd = time();
    $datum = date_format($tijd);
    $titel = addslashes($_POST['titel']);
    $icon = addslashes($_POST['icon']);
    $auteur = addslashes($_POST['auteur']);
    $categorie = addslashes($_POST['categorie']);
    $nieuws = addslashes($_POST['nieuws']);
    $icon = $locatie.$_FILES['afbeelding']['name'];
    echo $icon; 
    echo "<a href="../adminpanel/index.php"> Terug </a><br><br>"; 
    exit; 
    }              
   } 
     
   else 
   { 
    echo "Het uploaden is mislukt, er is nu een standaard categorie plaatje gebruikt! <br />"; 
    $tijd = time();
    $datum = date_format($tijd);
    $titel = addslashes($_POST['titel']);
    $icon = addslashes($_POST['icon']);
    $auteur = addslashes($_POST['auteur']);
    $categorie = addslashes($_POST['categorie']);
    $nieuws = addslashes($_POST['nieuws']);
    if ($categorie === 'Film');
    {
    mysql_query ("INSERT INTO nieuws (id,titel,auteur,datum,categorie,icon,nieuws) VALUES ('','$titel','$auteur','". $datum . "', '$categorie', 'http://beta.dooh.nl/images/nieuws/film.png', '$nieuws')") or die (mysql_error ()); 
    echo "Het nieuws is toegevoegd!<br>"; 
    echo "<a href="../adminpanel/index.php"> Terug </a><br><br>"; 
    exit; 
    } 
    if ($categorie === 'Muziek');
    {
    mysql_query ("INSERT INTO nieuws (id,titel,auteur,datum,categorie,icon,nieuws) VALUES ('','$titel','$auteur','". $datum . "', '$categorie', 'http://beta.dooh.nl/images/nieuws/muziek.png', '$nieuws')") or die (mysql_error ()); 
    echo "Het nieuws is toegevoegd!<br>"; 
    echo "<a href="../adminpanel/index.php"> Terug </a><br><br>"; 
    exit; 
    }
    }     
                               
                                    } 
                                     
                                } 
                                    if (isset($error))  
                                    {  
                                    echo "<b>fout!:</b><br>";  
                                    echo $error . "<br>";  
                                    echo "<a href="javascript:history.back(-1)">Ga terug</a>";  
                                    } else {
?>
        <form action="<?=$_SERVER['PHP_SELF']?>" method="POST" ENCTYPE="multipart/form-data"> 
        Titel <br />
        <input type="text" name='titel' size="20"><br />
        <input type="hidden" name="auteur" value=" <? echo $sql[user]; ?>">  
        Categorie<br />
        <select name='categorie'>
            <option>-</option>
            <option>Muziek</option>
            <option>Film</option>
            <option>Games</option>
            <option>Algemeen</option>
            <option>Dooh</option>
            <option>Gadgets</option>
            <option>TV</option>
            <option>Overige</option>
        </select><br />
        Url van plaatje<br />
        <input type="file" name="icon" size="50" /><br />
        Nieuws<br />
                <textarea name='nieuws' id="nieuws" onKeyUp="CharPos('nieuws'); return true;" onBlur="CharPos('nieuws'); return false;" cols="40" rows="7"></textarea><br />
            <input type="submit" value="Verzenden" name="submit">
        </form>
        <?
            }

Maar dit doet ie niet, hij weergeeft het plaatje van 'Film' terwijl de categorie 'Movie' is

1
2
3
4
5
6
7
8
9
<?
if ($categorie === 'Muziek');
    {
    mysql_query ("INSERT INTO nieuws (id,titel,auteur,datum,categorie,icon,nieuws) VALUES ('','$titel','$auteur','". $datum . "', '$categorie', 'http://beta.dooh.nl/images/nieuws/muziek.png', '$nieuws')") or die (mysql_error ()); 
    echo "Het nieuws is toegevoegd!<br>"; 
    echo "<a href="../adminpanel/index.php"> Terug </a><br><br>"; 
    exit; 
    }
?>

De upload functie werkt btw ook (nog) niet

ty

[Laatst bewerkt door Basjee op zondag 25 maart 2007, om 13:41]
DJVG
&#61514;
Geplaatst op: 25 Mar 2007, 13:43
PimpCoins: 0
💸+
Bewerken Quote

if ($categorie === 'Muziek'); 1 = teveel?

Hunterseaker
Geplaatst op: 25 Mar 2007, 13:52
PimpCoins: 0
💸+
Bewerken Quote

DJVG schreef:

if ($categorie === 'Muziek'); 1 = teveel?

zelfde geld voor film.....

Saven
admin
Geplaatst op: 25 Mar 2007, 13:56
PimpCoins: 0
💸+
Bewerken Quote

kijken of $_FILES[''] ding is geset, zoja, user plaatje, zo nee, standaard plaatje

Basjee
Octo
Geplaatst op: 25 Mar 2007, 14:18
PimpCoins: 0
💸+
Bewerken Quote

@ Saven, hoe?

Hunterseaker
Geplaatst op: 25 Mar 2007, 15:17
PimpCoins: 0
💸+
Bewerken Quote

Basjee schreef:

@ Saven, hoe?

Kan toch gewoon met isset?
1
2
3
4
5
6
if(isset($_FILES[''])){
doe dit
}
else{
doe dat
}

of anders zo:
1
2
3
4
5
6
if($_FILES[''] == "')
{
doe dit
}
else{
doe dat}

Of is dit te simpel gedacht?
Of met if(empty()){}?

[Laatst bewerkt door Hunterseaker op zondag 25 maart 2007, om 15:18]
Basjee
Octo
Geplaatst op: 25 Mar 2007, 17:23
PimpCoins: 0
💸+
Bewerken Quote

Volgens mij met if empty, dankje, niet aangedacht, ik post wel als er problemen zijn

Hunterseaker
Geplaatst op: 25 Mar 2007, 17:35
PimpCoins: 0
💸+
Bewerken Quote

Basjee schreef:

Volgens mij met if empty, dankje, niet aangedacht, ik post wel als er problemen zijn

Heb net ff op php.net rondgekeken en naar de isset functie gezocht, en heb deze beschrijving gevonden:

isset

(PHP 4, PHP 5)

isset — Determine whether a variable is set
Description
bool isset ( mixed $var [, mixed $var [, $...]] )

Returns TRUE if var exists; FALSE otherwise.

If a variable has been unset with unset(), it will no longer be set. isset() will return FALSE if testing a variable that has been set to NULL. Also note that a NULL byte ("\0" is not equivalent to the PHP NULL constant.

Warning: isset() only works with variables as passing anything else will result in a parse error. For checking if constants are set use the defined() function.


Ik denk dat je dus het beste isset kan gebruiken maar if(empty()) kan ook nog wel eens gaan werken want die doet in dit geval bijna hetzelfde....

[Laatst bewerkt door Hunterseaker op zondag 25 maart 2007, om 17:35]
Basjee
Octo
Geplaatst op: 25 Mar 2007, 17:46
PimpCoins: 0
💸+
Bewerken Quote

Maar waar plaats ik

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?
if (isset($_POST['submit'])) {  
                                    if (empty($_POST['titel']))  
                                    {  
                                    $error .= "Je hebt geen titel ingevuld.<br>";  
                                    }  
                                    if (empty($_POST['icon']))  
                                    {  
                                    $error .= "Je hebt geen icon ingevuld.<br>";  
                                    }  
                                    if (empty($_POST['categorie']))  
                                    {  
                                    $error .= "Je hebt geen categorie ingevuld.<br>";  
                                    } 
                                    if (empty($_POST['nieuws']))  
                                    {  
                                    $error .= "Je hebt geen nieuws ingevuld.<br>";  
                                    } else {
?>

(Sorry voor de tabs )

In

1
2
3
4
5
6
7
8
<?
if(empty($_FILES['afbeelding']['tmp_name'])) 
{ 
// Wel leeg, dus standaard cato
} else { 
// Niet leeg, dus upload plaatje
} 
?>

[Laatst bewerkt door Basjee op zondag 25 maart 2007, om 17:48]
Hunterseaker
Geplaatst op: 25 Mar 2007, 17:55
PimpCoins: 0
💸+
Bewerken Quote

Basjee schreef:

Maar waar plaats ik
[...]

Die kan je gewoon toevoegen in dat if empty rijtje....
desnoods werk je ook nog ff met een elseif om gezeik met die 2e else te voorkomen.....
Ook kan je het later nog een keer checken, dus buiten die bovenste if empty reeks...

Basjee
Octo
Geplaatst op: 25 Mar 2007, 17:59
PimpCoins: 0
💸+
Bewerken Quote

Ja, dat lukte al.
Maar nu lukt het allemaal, maar als er geen plaatje is ingevuld werkt standaard nog niet.
Als de cato 'Film' is moet hij 'film.png' laten zien, net als bij Muziek etc

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
<?
if(empty($_FILES['icon']['tmp_name']))  
    {  
    echo "Het uploaden is mislukt, er is nu een standaard categorie plaatje gebruikt! <br />"; 
    $tijd = time();
    $datum = date_format($tijd);
    $titel = addslashes($_POST['titel']);
    $icon = addslashes($_POST['icon']);
    $auteur = addslashes($_POST['auteur']);
    $categorie = addslashes($_POST['categorie']);
    $nieuws = addslashes($_POST['nieuws']);
    if ($categorie === 'Film');
    {
    mysql_query ("INSERT INTO nieuws (id,titel,auteur,datum,categorie,icon,nieuws) VALUES ('','$titel','$auteur','". $datum . "', '$categorie', 'http://beta.dooh.nl/images/nieuws/film.png', '$nieuws')") or die (mysql_error ()); 
    echo "Het nieuws is toegevoegd!<br>"; 
    echo "<a href="../adminpanel/index.php"> Terug </a><br><br>"; 
    exit; 
    } 
    if ($categorie === 'Muziek');
    {
    mysql_query ("INSERT INTO nieuws (id,titel,auteur,datum,categorie,icon,nieuws) VALUES ('','$titel','$auteur','". $datum . "', '$categorie', 'http://beta.dooh.nl/images/nieuws/muziek.png', '$nieuws')") or die (mysql_error ()); 
    echo "Het nieuws is toegevoegd!<br>"; 
    echo "<a href="../adminpanel/index.php"> Terug </a><br><br>"; 
    exit; 
    }
} else {  
// Niet leeg, dus upload plaatje
?>

Ziet iemand een probleem?
met elseif werkt het ook niet ..

[Laatst bewerkt door Basjee op zondag 25 maart 2007, om 17:59]
Hunterseaker
Geplaatst op: 25 Mar 2007, 18:07
PimpCoins: 0
💸+
Bewerken Quote

Basjee schreef:

Ja, dat lukte al.
Maar nu lukt het allemaal, maar als er geen plaatje is ingevuld werkt standaard nog niet.
Als de cato 'Film' is moet hij 'film.png' laten zien, net als bij Muziek etc
[...]
Ziet iemand een probleem?
met elseif werkt het ook niet ..

Weet je zeker dat je bij categorie er rekening mee houdt dat Film en Muziek met hoofdletters beginnen......
En waarom weer die 3 === achter elkaar?
2 is voldoende.

[Laatst bewerkt door Hunterseaker op zondag 25 maart 2007, om 18:09]
Basjee
Octo
Geplaatst op: 25 Mar 2007, 18:11
PimpCoins: 0
💸+
Bewerken Quote

Nee, === klopt. & Ze beginnen met hoofletters, 100% zeker

PHP.net schreef:
> Groter dan
< Kleiner dan
== Gelijk aan
!= Niet gelijk aan
!== Niet gelijk aan (met typecontrole)
=== Gelijk aan (met typecontrole)
>= Gelijk aan, of groter dan
<= Gelijk aan, of kleiner dan

Stukje van mijn form:

1
2
3
4
5
6
7
8
9
10
<select name='categorie'>
<option>-</option>
<option>Muziek</option>
<option>Film</option>
<option>Games</option>
<option>Algemeen</option>
<option>Gadgets</option>
<option>TV</option>
<option>Overige</option>
        </select>

Ook als ik Muziek als cato doe krijg ik het plaatje van Film

[Laatst bewerkt door Basjee op zondag 25 maart 2007, om 18:15]
Hunterseaker
Geplaatst op: 25 Mar 2007, 18:19
PimpCoins: 0
💸+
Bewerken Quote

Basjee schreef:

Nee, === klopt. & Ze beginnen met hoofletters, 100% zeker
[...]

Stukje van mijn form:
[...]

Ook als ik Muziek als cato doe krijg ik het plaatje van Film


Weet je zeker dat de plaatjes wel verschillend zijn en je ze niet per ongeluk als de zelfde naam hebt opgeslagen?
Ik kan namelijk niks aan het script ontdekken, kijk is even hoe de gegevens in je database opgeslagen worden....

Basjee
Octo
Geplaatst op: 25 Mar 2007, 18:24
PimpCoins: 0
💸+
Bewerken Quote

Ja, fout moet wel in het script zitten want als ik bij de 1e if

1
mysql_query ("INSERT INTO nieuws (id,titel,auteur,datum,categorie,icon,nieuws) VALUES ('','$titel','$auteur','". $datum . "', '$categorie', 'http://beta.dooh.nl/images/nieuws/muziek.png', '$nieuws')") or die (mysql_error ())

i.p.v.

1
mysql_query ("INSERT INTO nieuws (id,titel,auteur,datum,categorie,icon,nieuws) VALUES ('','$titel','$auteur','". $datum . "', '$categorie', 'http://beta.dooh.nl/images/nieuws/film.png', '$nieuws')") or die (mysql_error ())

Doe krijg ik wél het movie plaatje(ik heb de url veranderd)

Edit:
Het zou toch ook met switch moeten kunnen?

1
2
3
4
5
6
7
8
switch ($categorie) {
   case "Film":
       mysql_query ("INSERT INTO nieuws (id,titel,auteur,datum,categorie,icon,nieuws) VALUES ('','$titel','$auteur','". $datum . "', '$categorie', 'http://beta.dooh.nl/images/nieuws/film.png', '$nieuws')") or die (mysql_error ())
   case "Muziek":
      mysql_query ("INSERT INTO nieuws (id,titel,auteur,datum,categorie,icon,nieuws) VALUES ('','$titel','$auteur','". $datum . "', '$categorie', 'http://beta.dooh.nl/images/nieuws/muziek.png', '$nieuws')") or die (mysql_error ())
   case "Games":
       mysql_query ("INSERT INTO nieuws (id,titel,auteur,datum,categorie,icon,nieuws) VALUES ('','$titel','$auteur','". $datum . "', '$categorie', 'http://beta.dooh.nl/images/nieuws/games.png', '$nieuws')") or die (mysql_error ())
}

Of blaat ik nu?

[Laatst bewerkt door Basjee op zondag 25 maart 2007, om 18:55]
iisys
Hmhm, indeed. whtvr.
moderator
Geplaatst op: 25 Mar 2007, 18:58
PimpCoins: 0
💸+
Bewerken Quote

Hunterseaker schreef:

Ik kan namelijk niks aan het script ontdekken

Ik wel

Kijk is naar het laatste teken van deze line:

1
if ($categorie === 'Film');

Wtf moet die daar ?

Basje, @ je edit. Die gaat niet werken. Als je het toch zo omslachtig wilt doen bekijk hem dan nog is en voeg een paar break's toe.

[Laatst bewerkt door iisys op zondag 25 maart 2007, om 18:59]
Basjee
Octo
Geplaatst op: 25 Mar 2007, 18:59
PimpCoins: 0
💸+
Bewerken Quote


Iets té enthousiast

iig bedankt iisys

[Laatst bewerkt door Basjee op zondag 25 maart 2007, om 19:01]
📫

Nieuw privébericht

🔥

Registreren


Login