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

Trädvy Permalänk
Medlem
Plats
Göteborg
Registrerad
Jul 2016

[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; }

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

Trädvy Permalänk
Medlem
Plats
SweClockers forum
Registrerad
Aug 2012

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.

Guide: Roota din HTC - BB-Kod-knappar på Prisjakt

              Min burk - Kvävekyld till 80%
8700K@stock
1070 Ti@stock

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

Trädvy Permalänk
Medlem
Plats
Göteborg
Registrerad
Jul 2016
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.

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

Trädvy Permalänk
Medlem
Registrerad
Nov 2005

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

Trädvy Permalänk
Medlem
Plats
Stockholm
Registrerad
Aug 2009
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 { // ... }

7900x @ 4,7ghz - 1080ti @ 2100

Trädvy Permalänk
Medlem
Plats
Göteborg
Registrerad
Jul 2016
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.

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