lefsaker Skrevet 3. juni 2008 Del Skrevet 3. juni 2008 (endret) Howdy! Jeg har for tiden en sluttoppgave som omhandler Nettverks- og systemadministrasjon, og holder i den anledning på med Windows Server 2003 og Active Directory. Jeg prøver å lage et script som utfører en CMD kommando for å opprette brukerene, og alt funker helt fint helt til jeg legger til if-elseif-else greia for å velge hvem gruppe brukeren skal legges til i. PHP-kode: <?php $fornavn = htmlspecialchars(strip_tags($_POST['fornavn'])); $etternavn = htmlspecialchars(strip_tags($_POST['etternavn'])); $passord = "1337"; $gruppe = htmlspecialchars(strip_tags($_POST['gruppe'])); $desc = htmlspecialchars(strip_tags($_POST['desc'])); $system_call = "cmd.exe "; $system_call .= "/c Dsadd user "; $system_call .= "\""; $system_call .= "cn=".$fornavn." ".$etternavn.", "; $system_call .= "ou=".$gruppeou.", "; $system_call .= "ou=Oslo, "; $system_call .= "dc=oslo, "; $system_call .= "dc=darkodesigns"; $system_call .= "\" "; $system_call .= "-samid "; $system_call .= $fornavn.".".$etternavn." "; $system_call .= "-upn "; $system_call .= $fornavn.".".$etternavn."@oslo.darkodesigns "; $system_call .= "-pwd "; $system_call .= $passord." "; $system_call .= "-fn "; $system_call .= $fornavn." "; $system_call .= "-ln "; $system_call .= $etternavn." "; $system_call .= "-display "; $system_call .= $fornavn." "; $system_call .= "-desc "; $system_call .= "\""; $system_call .= $desc.""; $system_call .= "\""; $system_call2 = "cmd.exe "; $system_call2 .= "/c Dsmod user "; $system_call2 .= "\""; $system_call2 .= "cn=".$fornavn." ".$etternavn.", "; $system_call2 .= "ou=".$gruppeou.", "; $system_call2 .= "ou=Oslo, "; $system_call2 .= "dc=oslo, "; $system_call2 .= "dc=darkodesigns"; $system_call2 .= "\" "; $system_call2 .= "-profile "; $system_call2 .= "\"\\\\oslo-win-srv\\Profiles\\\$username\$\" "; $system_call2 .= "-disabled "; $system_call2 .= "no "; $system_call3 = "cmd.exe "; $system_call3 .= "/c Dsmod group "; $system_call3 .= "\""; $system_call3 .= "cn=".$gruppe.", "; $system_call3 .= "ou=Gruppe, "; $system_call3 .= "ou=Oslo, "; $system_call3 .= "dc=oslo, "; $system_call3 .= "dc=darkodesigns"; $system_call3 .= "\" "; $system_call3 .= "-addmbr "; $system_call3 .= "\" "; $system_call3 .= "cn=".$fornavn." ".$etternavn.", "; $system_call3 .= "ou=".$gruppeou.", "; $system_call3 .= "ou=Oslo, "; $system_call3 .= "dc=oslo, "; $system_call3 .= "dc=darkodesigns"; $system_call3 .= "\" "; if($_POST['submit']) { if(empty($fornavn) || empty($etternavn) || empty($desc)) { echo "<code><span class='left'>Vennligst fyll ut alle feltene!</span><br /></code>"; } else { //////////////////Her er problemet////////////////// if ($gruppe = "Selger") { $gruppeou = "Marked"; } elseif ($gruppe = "Renhold") { $gruppeou = "Ansatte"; } elseif ($gruppe = "Produksjon") { $gruppeou = "Produksjon"; } elseif ($gruppe = "Okonomi") { $gruppeou = "Ansatte"; } elseif ($gruppe = "Kantine") { $gruppeou = "Ansatte"; } elseif ($gruppe = "Grafiskdesign") { $gruppeou = "Design"; } elseif ($gruppe = "Administrasjon") { $gruppeou = "Ledelse"; } else { $gruppeou = "Ansatte"; } ////////////////////////////////////////////////////// system($system_call); system($system_call2); system($system_call3); echo("<code><span class='left'>Brukeren<b> $fornavn $etternavn </b>ble lagt til i gruppen<b> $gruppe</b>, og kan nå logge inn med<br />brukernavnet: <b>[email protected]</b> og passordet <b>1337</b></span><br /><br /></code>$gruppeou"); } } else { echo(" <form action=\"\" method=\"post\"> <code><span class=\"left\">Fornavn:</span><span class=\"right\"><input name=\"fornavn\" type=\"text\" /></span><br /> <span class=\"left\">Etternavn:</span><span class=\"right\"><input name=\"etternavn\" type=\"text\" /></span> </code> <code><span class=\"left\">Beskrivelse:</span><span class=\"right\"><input name=\"desc\" type=\"text\" /></span> </code> <code><span class=\"left\">Gruppe:</span><span class=\"right\"><select name=\"gruppe\"><option>Selger</option><option>Renhold</option><option>Produksjon</option> <option>Okonomi</option><option>Kantine</option><option>Grafiskdesign</option><option>Administrasjon</option> </select></span> </code> <code><span class=\"left\">Opprett:</span><span class=\"right\"><input type=\"submit\" value=\"Opprett\" name=\"submit\" /></span> </code> </form> "); } ?> Problemet her er at uansett hvem gruppe jeg spesifiserer fra nedtrekksmenyen, legger den til brukeren i Selger gruppen, og OU'en Marked. Hvis jeg tar vekk if-setningen og spesifiserer $gruppeou manuelt, funker det helt fint. Da legger den til brukeren i den spesifiserte gruppen, og i OU'en jeg skrev inn i scriptet. Jeg har også prøvd if-setningen uten paranteser, og med følgende: elseif ($gruppe = ("Grafiskdesign")) { ($gruppeou = ("Design")); } Noen som har peiling på dette? Mulig jeg failer veldig, men jeg forstår ikke hva som er feil Endret 3. juni 2008 av lefsaker Lenke til kommentar
Danny92 Skrevet 3. juni 2008 Del Skrevet 3. juni 2008 Er det ikke med == ? Sånn som dette if ($gruppe == "Selger") { får når jeg har hat bare en = så ar det ikke funka oss meg heller, så prøv med to == Lenke til kommentar
lefsaker Skrevet 3. juni 2008 Forfatter Del Skrevet 3. juni 2008 (endret) Selvfølgelig >< I failed /e-hug2u Endret 3. juni 2008 av lefsaker Lenke til kommentar
Martin A. Skrevet 3. juni 2008 Del Skrevet 3. juni 2008 (endret) Dessuten må $gruppeou defineres før du kan benytte den i $systemcall. [23:37:47] [m4rtin] do: $var = "hei {$test}"; $test = 'på deg'; echo $var; [23:37:48] [+phpbot] m4rtin: PHP Notice: Undefined variable: test in /tmp/phpbot_tmpfiles/mqBkCo4H10 on line 2 [23:37:48] [+phpbot] m4rtin: hei Endret 3. juni 2008 av M4rTiN Lenke til kommentar
Jonhoo Skrevet 10. juni 2008 Del Skrevet 10. juni 2008 Ville forresten plassert all koden som genererer systemkallene inn i if($_POST['submit']), fordi ellers vil du få feilmeldinger på at $_POST ikke er definert når siden lastes (ie før formet har blitt submittet). Ville også ha skrevet if(isset($_POST['submit'])) eller if(!empty($_POST)) istedenfor den if-en du har, da også den vil produsere en feilmelding hvis $_POST ikke er satt.. =) Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå