Toon posts:

Linkpagina

Pagina: 1
Acties:
  • 55 views sinds 30-01-2008

Verwijderd

Topicstarter
Hallo ik maak op mijn site gebruik van een script waarbij je links kunt toevoegen. Een linkpagina dus.
Op de site kun je dan een link toevoegen in een formuliertje en vervolgens kan die link via de admin goed/af gekeurd worden.
Echter geeft mijn script in het formulier vaak aan dat er een veld niet is ingevuld, hoewel alle velden wel zijn ingevuld..

dit is het stuk php dat er bij hoort:

C#:
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
//Plaats link pagina// 
if (isset($plaatslink)) {  
//Als formuliertje is ingevuld 
            if ($_POST['submit']) {  
                if ($naam !="" AND $email !="" AND $url!="")   
                {  
                $naam    = addslashes($_POST['naam']);  
                $email   = addslashes($_POST['email']);  
                $url     = addslashes($_POST['url']);  
                $cat     = addslashes($_POST['cat']);  
                $insert   = "INSERT INTO links_url (id, naam, url, sort, cat, email, status) VALUES ('', '$naam', '$url', '0', '$cat', '$email', 'wachtrij')";   
                mysql_query ($insert) or die(mysql_error());  
                echo "Bedankt voor het aanmelden van je link.<br>Na goedkeuring van de webmaster zal deze op de website worden gezet.";  
                }  
                else { echo "U heeft één van de benodigde velden niet ingevuld!<br><a href='javascript:window.history.go(-1)'>Klik hier om terug te keren</a>";}  
            }  
//formulier invullen 
            else {        echo "<table width=\"450\"><tr><td width=\"125\" valign=\"top\"><b>Naam website</b> *</td><form action=\"$PHP_SELF?plaatslink\" method=post><td width=\"325\"><input name=\"naam\" type=\"text\" size=\"60\" maxlength=\"200\"></td></tr> 
                        <tr><td width=\"125\" valign=\"top\"><b>Url website</b> *</td><td width=\"325\"><input name=\"url\" type=\"text\" size=\"60\" maxlength=\"200\"></td></tr> 
                        <tr><td width=\"125\" valign=\"top\"><b>Email-adres</b> *</td><td width=\"325\"><input name=\"email\" type=\"text\" size=\"60\" maxlength=\"200\"></td></tr> 
                         <tr><td width=\"125\" valign=\"top\"><b>Categorie</b> *</td><td width=\"325\"><select name='cat'><option></option>";  
                    $gbc_query = "SELECT * FROM links_cat ORDER BY sort";   
                    $gbc_exec = mysql_query($gbc_query);   
                    while ($gbc_result = mysql_fetch_array($gbc_exec)) {  
                    $gbc_id = $gbc_result["id"];  
                    $gbc_naam = $gbc_result["naam"];  
                    echo "<option value=\"".$gbc_id."\">".$gbc_naam."</option>"; }  
                        echo "</select></td></tr><tr><td width=\"125\"></td><td width=\"325\"><input name=\"submit\" type=\"submit\" value=\"Verzend\"></td></form></tr></table>";   
                }}  


Ik zie hier geen fout in... maar ik ben nog een beginner, ziet iemand wat er fout is?

  • Wijnbo
  • Registratie: December 2002
  • Laatst online: 18-03 22:28

Wijnbo

Electronica werkt op rook.

Dit stuk :
PHP:
1
2
3
4
echo "<table width=\"450\"><tr><td width=\"125\" valign=\"top\"><b>Naam website</b> *</td><form action=\"$PHP_SELF?plaatslink\" method=post><td width=\"325\"><input name=\"naam\" type=\"text\" size=\"60\" maxlength=\"200\"></td></tr>  
                     <tr><td width=\"125\" valign=\"top\"><b>Url website</b> *</td><td width=\"325\"><input name=\"url\" type=\"text\" size=\"60\" maxlength=\"200\"></td></tr>  
                        <tr><td width=\"125\" valign=\"top\"><b>Email-adres</b> *</td><td width=\"325\"><input name=\"email\" type=\"text\" size=\"60\" maxlength=\"200\"></td></tr>  
                         <tr><td width=\"125\" valign=\"top\"><b>Categorie</b> *</td><td width=\"325\"><select name='cat'><option></option>";

Kun je beter zo doen :
PHP:
1
2
3
4
5
?>
tabel
form action = "<? $php_self ?>
velden
enzenz...
das een stuk overzichtelijker, en maak je minder kans op fouten met \" enzo

Verder kun je als check of er iets gepost is, misschien beter if isset gebruiken.

Succes !

[ Voor 98% gewijzigd door Wijnbo op 29-07-2005 14:32 ]


  • dajappie
  • Registratie: Januari 2005
  • Laatst online: 23:14
Verwijderd schreef op vrijdag 29 juli 2005 @ 14:22:

PHP:
1
                if ($naam !="" AND $email !="" AND $url!="")
Waarom gebruik hier niet de $_POST-versies terwijl je die boven en onder wel gebruikt? Als register_globals uitstaat zijn deze variabelen natuurlijk gewoon leeg. Vervolgens ga je in de "if" eronder wel netjes de $_POST['naam'] etc gebruiken.

[ Voor 9% gewijzigd door dajappie op 29-07-2005 14:35 ]


  • TwoR
  • Registratie: Augustus 2002
  • Laatst online: 05-05 09:55

TwoR

Gekleurde stippen

code:
1
if ($naam !="" AND $email !="" AND $url!="")

Dit klopt niet voglens mij. Moet dit geen $_POST['naam'] zijn ipv $naam.

Aldus spuit 11

[ Voor 25% gewijzigd door TwoR op 29-07-2005 14:36 ]


  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 22:57

Creepy

Tactical Espionage Splatterer

Beste Arsestar ,

Lees aub P&W FAQ - De "quickstart" eens goed door. Er missen nameljk wat zaken in je post zoals:
- Een correcte topictitel (zie ook *** Over topictitels in P&W - lezen voor topic openen!!! ***)
- De zaken die je zelf al hebt geprobeerd om je probleem op te lossen. We gaan er hier vanuit dat je in eerste instantie zelf opzoek gaat naar een oplossing en aan het debuggen slaat. Dat je een beginner bent geeft niet. Dat je je code hier dumpt zonder aan te geven wat je nu zelf hebt geprobeerd is echter niet iets wat we graag zien.

Dus, ga zelf eens kijken wat er mis gaat. Druk wat variabelen af etc. (zie ook P&W FAQ - Leer **** debuggen!!). Mocht je er dan echt niet uitkomen maak dan een nieuw topic a.d.h.v. de quickstart ;)

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


Dit topic is gesloten.