合同有公章没签字有效,因为合同的成立只需要签字或盖章即可。
当事人采用合同书形式订立合同的,自当事人均签名、盖章或按指印时合同成立。在签名、盖章或按指印之前,当事人一方已经履行主要义务,对方接受时,该合同成立。
【法律依据】
《中华人民共和国民法典》第四百九十条,当事人采用合同书形式订立合同的,自当事人均签名、盖章或按指印时合同成立。
在签名、盖章或按指印之前,当事人一方已经履行主要义务,对方接受时,该合同成立。
法律、行政法规规定或当事人约定合同应当采用书面形式订立,当事人未采用书面形式但是一方已经履行主要义务,对方接受时,该合同成立。