[PHP7] if or switch email visa adresser som får användas.

Permalänk
Avstängd

[PHP7] if or switch email visa adresser som får användas.

Tjo alla,

Jag försöker bara att godkänna visa email adresser men på något sätt så jag gör något fel så att den inte funkar som den ska.

Håller mest på C# men dock så håller jag på med PHP7.

start kod

$emailexplode = explode("@", $email);

Test kod 1

if ($emailexplode[1] !== 'gmail.com' || $emailexplode[1] !== 'outlook.com' || $emailexplode[1] !== 'outlook.se' || $emailexplode[1] !== 'hotmail.com'|| $emailexplode[1] !== 'hotmail.se' || $emailexplode[1] !== 'live.se' || $emailexplode[1] !== 'live.com') { $_SESSION['success'] = 'No'; $_SESSION['msg1'] = 'Felet ligger i din email vi godtar bara <B>gmail, hotmail, live</B> '.$emailexplode[1]; header( "Location: index.php?task=reg" ); die(); break; }

Test kod 2

switch ($emailexplode[1]) { case 'gmail.com': case 'outlook.com': case 'outlook.se': case 'hotmail.com': case 'hotmail.se': case 'live.se': case 'live.com': default: $_SESSION['success'] = 'No'; $_SESSION['msg1'] = 'Felet ligger i din email vi godtar bara <B>gmail, hotmail, live</B> '.$emailexplode[1]; header( "Location: index.php?task=reg" ); die(); break; }

Visa signatur

Man är inte dum för att man har stavproblem.
Läs mer om min synfel Visual Snow
Om mig ----> #16970666

Permalänk
Medlem

Uttrycket i din if-sats använder ||-operatorer, inte &&. Det kommer _alltid_ utvärderas till true.
Din switch vet jag inte hur du tänkt att den ska fungera. Det du skrivit kör ju samma block för alla dina cases och defaulten.

Varför har du inte en array med tillåtna domäner och använder in_array()?

För övrigt är indenteringen förfärlig.

Visa signatur

Spela Swemantle! Du vet att du vill.

Ibland har jag fel, men då är det någon annans fel.

Permalänk
Avstängd
Skrivet av LemonIllusion:

Uttrycket i din if-sats använder ||-operatorer, inte &&. Det kommer _alltid_ utvärderas till true.
Din switch vet jag inte hur du tänkt att den ska fungera. Det du skrivit kör ju samma block för alla dina cases och defaulten.

Varför har du inte en array med tillåtna domäner och använder in_array()?

För övrigt är indenteringen förfärlig.

Jag vet inte hur man använder array i php så det här var det ända sättet som jag kan.

Visa signatur

Man är inte dum för att man har stavproblem.
Läs mer om min synfel Visual Snow
Om mig ----> #16970666

Permalänk
Medlem

varför ska du bara godkänna vissa top-domäner? Låter inget vettigt i mina ögon.
Läs på om array http://php.net/manual/en/language.types.array.php

Permalänk
Medlem
Skrivet av superegg:

Jag vet inte hur man använder array i php så det här var det ända sättet som jag kan.

$bla = ["outlook.com", "gmail.com"]; // ... if (in_array("gmail.com", $bla)) // första parametern är strängen du vill kolla, andra parametern är arrayen du vill matcha strängen till { // ja gmail.com finns } else { // ... }

Visa signatur

AW3423DW QD-OLED - Ryzen 5800x - MSI Gaming Trio X 3090 - 64GB 3600@cl16 - Samsung 980 Pro 2TB/WD Black SN850 2TB

Permalänk
Avstängd
Skrivet av Meto:

varför ska du bara godkänna vissa top-domäner? Låter inget vettigt i mina ögon.
Läs på om array http://php.net/manual/en/language.types.array.php

Är trött på botar så gör allt för att stoppar dom.

Skrivet av celoz:

$bla = ["outlook.com", "gmail.com"]; // ... if (in_array("gmail.com", $bla) // första parametern är strängen du vill kolla, andra parametern är arrayen du vill matcha strängen till { // ja gmail.com finns } else { // ... }

Tack jag har löst det.

Visa signatur

Man är inte dum för att man har stavproblem.
Läs mer om min synfel Visual Snow
Om mig ----> #16970666