I have a working sketch measuring temperature and pushing it to a web page using Uno and ethernet shield with POE. I haven't yet used the POE.
when I add in the SD card info code, the ethernet stops working. same symptom if SD card is in or out.
I know they both use the same SPI bus. In another comment it was stated this potential contention should be handled automatically. unfortunately, it doesn't seem to be at least for me.
using 1.6.5 GUI and just pulled from the examples. Code below.
my plan was send the temperature data to the SD card since the ram inside uno is so tiny.
Most of use move forward to an Arduino Mega 2560 when using the Ethernet Shield.
Download the newest Arduino IDE 1.6.6
I get a warning : Global variables use 2052 bytes, and there is only 2048.
You can't even use the full 2048, because some ram is needed for the stack and temporary variables.
Use the 'F()' macro with every Serial.println and Serial.print.
You might do that as well for the client.print and client.println. I think that has a disadvantage, every byte will be transmitted as a seperate packet over the internet.
If the card info part is causing trouble, remove it.
Just use the normal SD functions as in the examples that use both Ethernet and SD.
Perhaps you should make the SPI bus idle before using it. Set pin 4 and 10 to output and high. Those are the chip select for the SPI devices.