login  Naam:   Wachtwoord: 
Registreer je!
 Forum

vraag ivm input (Opgelost)

Offline Nman - 27/10/2008 03:04 (laatste wijziging 27/10/2008 03:29)
Avatar van NmanPHP interesse beste sitemasters

ik heb me rot gezocht maar kan er maar niet opkomen, hoe kan ik controleren of er in een input vakje een site is getypt die begint met http:// , alleen als het inputvakje ingevuld word?

dus hij mag geen fout zeggen als het vak legelaten word, het is voor een banner
pas als het ingevuld word moet hij controleren of er http voorstaat

dit is voor een toplist, er moet http voor staan , anders werkt het niet

16 antwoorden

Gesponsorde links
Offline djb - 27/10/2008 04:06
Avatar van djb PHP beginner
  1. <?php
  2. $str = "test.com/";
  3. if (substr($str,0,7)!="http://") {
  4. $str="http://".$str;
  5. }
  6. echo $str;
  7. ?>

Zoiets?
Dat geeft http://test.com/ terug als ze het vergeten zijn 
Offline Nman - 27/10/2008 04:10 (laatste wijziging 27/10/2008 04:31)
Avatar van Nman PHP interesse
  1. elseif($_POST['button'] != $appelen3['button'])
  2. {
  3. if(!eregi("^http://",$_POST['button']))
  4. {
  5. echo 'Je Banner URL moet wel met <b>http://</b> beginnen...';
  6. }
  7. }
  8. else
  9. {


een stukje code, moet er onder die if van http nog een else, ik denk van wel want nu werkt het niet, maar wat moe ik daar dan inzetten
Offline djb - 27/10/2008 04:56
Avatar van djb PHP beginner
  1. elseif($_POST['button'] != $appelen3['button'])
  2. {
  3. if(substr($_POST['button'],0,7)!="http://")
  4. {
  5. $_POST['button']="http://".$_POST['button'];
  6. }
  7. // hier de rest van je script...... $_POST['button'] bevat vanaf hier http://
  8. }
  9. else
  10. {

Naar aanleiding van jouw scriptje moet dit ook werken 
als http:// er niet staat zet hij het ervoor,
Dat is klantvriendelijker, want er komt geen error/foutmelding/fouttekst te staan:P
Offline Nman - 27/10/2008 04:58 (laatste wijziging 27/10/2008 05:14)
Avatar van Nman PHP interesse
  1. if(isset($_POST['submit']))
  2. {
  3. $title=htmlspecialchars(addslashes($_POST['title']));
  4. $url=htmlspecialchars(addslashes($_POST['url']));
  5. $button=htmlspecialchars(addslashes($_POST['button']));
  6. $description=htmlspecialchars(addslashes($_POST['description']));
  7. $catname=htmlspecialchars(addslashes($_POST['catname']));
  8. $appelen="SELECT * from ts_sites where ID='$ID' AND userid='$userid' AND username='$usernaam'";
  9. $appelen2=mysql_query($appelen);
  10. $appelen3=mysql_fetch_array($appelen2);
  11. if(!$_POST['title'])
  12. {
  13. echo "Je hebt geen Titel ingevuld...";
  14. }
  15. elseif(!eregi("^http://",$_POST['url']))
  16. {
  17. echo 'Je Site URL moet wel met <b>http://</b> beginnen...';
  18. }
  19. elseif($_POST['button'] != $appelen3['button'])
  20. {
  21. if(!eregi("^http://",$_POST['button']))
  22. {
  23. echo 'Je Site URL moet wel met <b>http://</b> beginnen...';
  24. }
  25. }
  26. else if(!$_POST['description'])
  27. {
  28. echo "Je hebt geen Omschrijving ingevuld...";
  29. }
  30. else
  31. {
  32. if($_POST['url'] == $appelen3['url'])
  33. {
  34. $updateinfo="UPDATE ts_sites SET title='$title', url='$url', button='$button', description='$description', catparent='$catname' WHERE ID='$ID' AND userid='$userid' AND username='$usernaam' LIMIT 1";
  35. }
  36. elseif($_POST['url'] != $appelen3['url'] || $_POST['button'] != $appelen3['button'])
  37. {
  38. $updateinfo="UPDATE ts_sites SET title='$title', url='$url', button='$button', description='$description', catparent='$catname', validated='0' WHERE ID='$ID' AND userid='$userid' AND username='$usernaam' LIMIT 1";
  39. }
  40. mysql_query($updateinfo) or die(mysql_error());
  41. echo "Site succesvol gewijzigd.";
  42.  
  43. }
  44. }


een stukje hier, ik doe het nu zo, maar hij moet nog een else functie hebben na de controle van http bij de banner (button)

maar wat moet ik daar zetten dan? hij moet niets meer controleren
Offline Kr4nKz1n - 27/10/2008 08:49
Avatar van Kr4nKz1n Onbekend Hij moet geen else optie hebben.

Gewoon zo laten.

Of je zet in de Else dat er toch nog iets fout is gegaan.
Offline Nman - 27/10/2008 14:51 (laatste wijziging 27/10/2008 14:53)
Avatar van Nman PHP interesse dat is juist het probleem, als ik geen else zet aan die button http controle toont hij niets aan als ik op wijzig klik, dit is omdat hij al is een if zit en dan komt die elseif voor http controle, en daar stopt hij dan denk ik

en waarom staat hij in die if ??
da is om te controleren of de tekst van button is veranderd ofniet, zoja controleer of er http is
Offline Kr4nKz1n - 27/10/2008 15:19
Avatar van Kr4nKz1n Onbekend Je hebt een if zonder else in een elseif. Waarom?

Zet gelijk de juiste controle in de elseif.
Offline Nman - 27/10/2008 15:37
Avatar van Nman PHP interesse
  1. elseif($_POST['button'] != $appelen3['button'])
  2. {
  3. if(!eregi("^http://",$_POST['button']))
  4. {
  5. echo 'Je Site URL moet wel met <b>http://</b> beginnen...';
  6. }
  7. }


hoe zet ik deze 2 dan in 1 ?
Offline Nanon - 27/10/2008 15:49 (laatste wijziging 27/10/2008 15:50)
Avatar van Nanon PHP interesse
  1. <?php
  2.  
  3. //... bla
  4.  
  5. elseif($_POST['button'] != $appelen3['button'] && !eregi("^http://",$_POST['button']))
  6. {
  7. echo 'Je Site URL moet wel met <b>http://</b> beginnen...';
  8. }
Offline djb - 27/10/2008 15:56
Avatar van djb PHP beginner Als je gewoon http:// voor iets wilt moet je nog maar eens naar mijn post kijken en daarmee gaan spelen 
Gewoon wat uitproberen Er komt altijd http:// voor te staan, dus foutmeldingen hoef je dan niet meer te tonen...
Offline Nman - 27/10/2008 15:58 (laatste wijziging 27/10/2008 15:59)
Avatar van Nman PHP interesse maar als ze nu het vak leeglaten, wat mag komt er die fout

dat moetik weg hebben, als het leeg blijft moet het gewoon leeg opgeslagen worden, als ze er iets inzetten, moet er controleren of er http voorstaat

edit : automatisch http ervoor laten zetten ga ik niet doen denk ik, want als ze dan gewoon eens een / vergeten ofzo , kan altijd gebeuren, dan komt daar nog eens http voor te staan
Offline henver - 27/10/2008 16:16 (laatste wijziging 27/10/2008 16:33)
Avatar van henver HTML gevorderde
  1. if(!empty($_POST['button'])){
  2. if(eregi('^http://',$_POST['button'])){
  3. // OK
  4. }else{
  5. echo 'Je site moet met http:// beginnen.';
  6. }
  7. }
Offline Kr4nKz1n - 27/10/2008 16:18
Avatar van Kr4nKz1n Onbekend Je hebt nu zoveel voorbeelden. Als het je niet lukt is dit te hoog voor jou gegrepen en kun je beter nog veel tutorials gaan lezen en veel oefenen.
Offline Nman - 27/10/2008 16:28 (laatste wijziging 27/10/2008 18:32)
Avatar van Nman PHP interesse
  1. if(!empty($_POST['button']))
  2. {
  3. if(eregi("^http://",$_POST['button'])){
  4. // OK
  5. }
  6. else
  7. {
  8. echo 'Je Banner URL moet wel met <b>http://</b> beginnen...';
  9. }
  10. }
  11. elseif(!$_POST['title'])
  12. {
  13. echo "Je hebt geen Titel ingevuld...";
  14. }
  15. elseif(!$_POST['url'])
  16. {
  17. echo "Je hebt geen URL ingevuld...";
  18. }
  19. elseif(!eregi("^http://",$_POST['url']))
  20. {
  21. echo 'Je Site URL moet wel met <b>http://</b> beginnen...';
  22. }
  23. else if(!$_POST['description'])
  24. {
  25. echo "Je hebt geen Omschrijving ingevuld...";
  26. }
  27. else


alles staat zo nu, het werkt , alleen als de bannerurl ingevuld word MET http gaat hij niet verder , dan toont hij niets aan

en als ik het allemaal anders begin te zetten werken de andere functies niet, bv als titel leeg is zegt hij het wel maar hij update ook, dus het staat nu op het beste, alleen als http is ingevuld toont hij gewoon wit aan

kan iemand mij hiermee helpen?
Offline djb - 27/10/2008 19:56
Avatar van djb PHP beginner nee omdat je ook geen code hebt ingevoerd he.....

Je moet eerst een code maken die wat met die url doet en dat in je script zetten...

En als je nu geen http:// invoert krijg je die leuke error 
Die is simpel weg te werken met mijn script die ik al een paar keer gegeven heb....
Offline Nman - 27/10/2008 20:16
Avatar van Nman PHP interesse ja, maar nogmaals, stel nu dat ze dit typen : http:/www.test.be of htp://www.test.be , dan gaat jouw script er http:// voor zetten omdat hij het niet weervind, en als ze nu dit voor hebben komt er die fout, en heb het ondertussen gevonden

  1. if(!empty($_POST['button']) && !eregi("^http://",$_POST['button']))
  2. {
  3. echo 'Je Banner URL moet wel met <b>http://</b> beginnen...';
  4. }


hiermee werkt het, als ze het vak leeglaten update hij, typen ze iets erin zonder http krijgen ze de fout, typen ze met http update het
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.276s