login  Naam:   Wachtwoord: 
Registreer je!
 Forum

ip calculator

Offline Jootn - 20/12/2009 19:22
Avatar van JootnNieuw lid Hallo allemaal.

ik zit met een klein probleempje.
Ik heb een functie en die moet een array returnen.
Zoals de titel het zegt, ik wil een script maken dat een ip adres omzet naar een binair getal, en nog eens de subnetmask meegeeft, de klasse, ...

Dit is me gelukt: http://audijo.be/netwerk

Maar mijn berekeningen staan op 1 pagina, vond het makkelijk om zo te programmeren.
Maar nu wil ik mijn code uitbreiden. En het had zeer makkelijk geweest dat er een paar berekeningen in functies gezet werden, zodat ik die bepaalde berekeningen een paar keer op verschillend ingegeven zaken kan laten uitvoeren.

ik maak mijn functie:
  1. function string_explode($post_var)
  2. {
  3. $array_explode = explode(".", $post_var);
  4. return($array_explode);
  5. }

Op de pagina waar ik de functie nodig heb doe ik het volgende:
  1. $array = string_explode($_POST['ip']);
  2. print_r($array);


print_r heeft niets terug dus hieruit leid ik af dat de functie ook niets terug geeft.


Ps, dit is een voorbeeld ;) de echte functie is ietwat uitgebreider, maar geeft ook niets terug ;)

2 antwoorden

Gesponsorde links
Offline NTS64 - 20/12/2009 19:40 (laatste wijziging 20/12/2009 19:40)
Avatar van NTS64 PHP gevorderde PHP.net: return(zie eerste note) is net zoals PHP.net: echo geen functie, maar een Wikipedia.org: Language construct. Return heeft bijgevolg geen haakjes nodig, tenzij je een expression returned, wat niet het geval is.
Offline Martijn - 21/12/2009 18:26
Avatar van Martijn Crew PHP wat ik nu uitleg zal meer debuggen zijn dan je daadwerkelijke probleem, maar je kunt het beste stap voor stap kijken wat er gebeurd:

  1. function string_explode($post_var)
  2. {
  3. echo "2: >".$postvar."<"; // als je hier >< krijgt is je fout hier al
  4. $array_explode = explode(".", $post_var);
  5. echo"<pre>".$print_r($array_explode)."</pre>"; //als je hier niets krijgt gebeurd er iets vaags.
  6.  
  7. return $array_explode;
  8. }


en als je dan dit doet:
  1. echo "1: >".$_POST['ip']."< ";hier moet iets tussen de >< staan
  2. $array = string_explode($_POST['ip']);
  3. print_r($array);


zo moet je precies kunnen zien wat er waargebeurd 
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.372s